passenger 5.0.24 → 5.0.25
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.editorconfig +8 -18
- data/CHANGELOG +20 -0
- data/build/cplusplus_support.rb +3 -3
- data/build/cxx_dependency_map.rb +148 -96
- data/build/cxx_tests.rb +24 -12
- data/build/packaging.rb +1 -2
- data/dev/copy_boost_headers +32 -9
- data/resources/templates/standalone/config.erb +2 -0
- data/resources/templates/standalone/footer.erb +3 -0
- data/resources/templates/standalone/server.erb +7 -0
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +2 -2
- data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -0
- data/src/agent/Core/UnionStation/Transaction.h +1 -15
- data/src/agent/README.md +15 -3
- data/src/agent/UstRouter/Controller.h +95 -90
- data/src/agent/UstRouter/FileSink.h +3 -2
- data/src/agent/UstRouter/LogSink.h +5 -6
- data/src/agent/UstRouter/RemoteSender.h +41 -12
- data/src/agent/UstRouter/RemoteSink.h +3 -2
- data/src/agent/UstRouter/Transaction.h +198 -66
- data/src/apache2_module/Configuration.cpp +57 -2
- data/src/apache2_module/Configuration.h +3 -1
- data/src/apache2_module/Configuration.hpp +3 -1
- data/src/apache2_module/Hooks.cpp +4 -2
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.h +1 -0
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -0
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +4 -3
- data/src/cxx_supportlib/ServerKit/Server.h +1 -0
- data/src/cxx_supportlib/Utils/BufferedIO.h +21 -4
- data/src/cxx_supportlib/Utils/IOUtils.cpp +62 -12
- data/src/cxx_supportlib/Utils/StrIntUtils.cpp +3 -3
- data/src/cxx_supportlib/Utils/StrIntUtils.h +2 -2
- data/src/cxx_supportlib/WatchdogLauncher.cpp +13 -1
- data/src/cxx_supportlib/WatchdogLauncher.h +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +312 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/concept.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +353 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_all.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_store.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +1 -8
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder_regex.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter_regex.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/predicate.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +95 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/util.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/erase.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find.hpp +334 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_iterator.hpp +388 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +193 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/join.hpp +145 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +475 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate_facade.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/regex.hpp +646 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/regex_find_format.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/replace.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/sequence_traits.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +163 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/list_traits.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/rope_traits.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/slist_traits.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/string_traits.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std_containers_traits.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim.hpp +398 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/address.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/aligned_storage.hpp +1 -164
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +33 -84
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +83 -231
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +774 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_alpha.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +134 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sparc.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_linux_arm.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_arm.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +57 -36
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +140 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +297 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/link.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +30 -76
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +876 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +973 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +395 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +802 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +240 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +514 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +616 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +178 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +824 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +928 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +91 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +280 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +18 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/arg.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +507 -2
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +214 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/make_adaptable.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +29 -36
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +304 -0
- data/src/cxx_supportlib/vendor-modified/boost/checked_delete.hpp +13 -65
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/concept_def.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +25 -26
- data/src/cxx_supportlib/vendor-modified/boost/config.hpp +9 -12
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +36 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +135 -14
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +41 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +48 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +33 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +36 -16
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +121 -87
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +39 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +327 -64
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +44 -10
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +38 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +0 -12
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +36 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +37 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +63 -23
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +44 -13
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +102 -128
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +258 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cloudabi.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/haiku.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/macos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/solaris.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/select_compiler_config.hpp +43 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/select_platform_config.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/select_stdlib_config.hpp +28 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +58 -15
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +129 -14
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +13 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/suffix.hpp +159 -85
- data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +351 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +371 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +283 -213
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +195 -51
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +840 -625
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +24 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +289 -181
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +314 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/auto_link.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +16 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +1142 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +61 -48
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +293 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +103 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +335 -408
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +383 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator_to_raw_pointer.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +300 -83
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/min_max.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/minimal_char_traits_header.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +45 -118
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +22 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +288 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +115 -109
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +33 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +62 -89
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +191 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/singleton.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/to_raw_pointer.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +17 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +646 -595
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +44 -184
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +23 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +50 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +627 -287
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +608 -657
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +395 -376
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +616 -625
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/deque.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/list.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/pool_options.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +193 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/slist.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/small_vector.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/stable_vector.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/string.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +194 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/vector.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +423 -1019
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator_fwd.hpp +23 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +520 -626
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +416 -407
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +574 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +711 -470
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +314 -145
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +477 -282
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +63 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +1660 -945
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +162 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/enable_if.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +154 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +301 -0
- data/src/cxx_supportlib/vendor-modified/boost/{detail/scoped_enum_emulation.hpp → core/scoped_enum.hpp} +19 -164
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/underlying_type.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +132 -95
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/adjust_functors.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_local_time_adjustor.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_clock_device.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_defs.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_format_simple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_limited.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_locales.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generator_formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generator_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_names_put.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/filetime_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/conversion.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_calendar.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day_of_year.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +352 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +517 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_ymd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/conversion.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/custom_time_zone.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/date_duration_operators.hpp +115 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/dst_transition_day_rules.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +528 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +184 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_types.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/posix_time_zone.hpp +474 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/tz_database.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time_adjustor.hpp +218 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_timezone_defs.hpp +193 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/microsec_time_clock.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/parse_format_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_legacy_io.hpp +153 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_system.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +212 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_period.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +201 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_defs.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_convert.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_defs.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_formatting_streams.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +99 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +396 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +3 -118
- data/src/cxx_supportlib/vendor-modified/boost/detail/fenv.hpp +30 -3
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -283
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +9 -477
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +12 -82
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +8 -107
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +6 -24
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +35 -30
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/float_functions.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/hash_float.hpp +22 -28
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/limits.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/extensions.hpp +5 -66
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash.hpp +77 -48
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash_fwd.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/get_pointer.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +47 -55
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +655 -2197
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set_hook.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +376 -1605
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +329 -601
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +982 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set_hook.hpp +17 -27
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +2101 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/{detail/tree_algorithms.hpp → bstree_algorithms.hpp} +973 -684
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +121 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +30 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +22 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algo_type.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +48 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +95 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/assert.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +19 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +184 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +104 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_end.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +235 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/empty_node_checker.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +107 -95
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/get_value_traits.hpp +222 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/has_member_function_callable_with.hpp +279 -296
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +122 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +186 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/is_stateful_value_traits.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +99 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +14 -139
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +295 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/minimal_less_equal_header.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/minimal_pair_header.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +160 -337
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_holder.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +34 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/pointer_element.hpp +168 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +124 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +14 -117
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/std_fwd.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +18 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +13 -133
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/uncast.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +2006 -1615
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +450 -229
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/link_mode.hpp +21 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +253 -282
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +17 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +21 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +94 -648
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +374 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +16 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +188 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +97 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +29 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +366 -1592
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +297 -639
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +619 -2187
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +661 -2252
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +468 -1493
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +163 -594
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +326 -307
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +16 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +686 -2238
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +425 -1575
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +422 -703
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +440 -1122
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +158 -406
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +558 -2257
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +476 -1611
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +36 -27
- data/src/cxx_supportlib/vendor-modified/boost/iterator.hpp +3 -42
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +15 -22
- data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +59 -64
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +77 -50
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +13 -22
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +318 -212
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +17 -49
- data/src/cxx_supportlib/vendor-modified/boost/iterator/{detail/minimum_category.hpp → minimum_category.hpp} +24 -45
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +10 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +29 -2649
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +498 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +787 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +194 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +197 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +294 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +212 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +24 -11
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cpp_regex_traits.cpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +40 -40
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +14 -17
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_raw_buffer.cpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +24 -11
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +11 -14
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +3 -420
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +173 -77
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +83 -33
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +42 -12
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +196 -18
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +111 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +40 -8
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/real_cast.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +233 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +223 -54
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +201 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_end.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +661 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +468 -62
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +206 -129
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +1078 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +591 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +33 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/move.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +30 -95
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +871 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +53 -98
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +317 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/O1_size_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/accumulate.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/advance.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/advance_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/alias.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/always.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/apply_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/apply_wrap.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/arg.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/arg_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/arithmetic.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/as_sequence.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/at.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/at_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/O1_size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/adl_barrier.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/advance_backward.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/advance_forward.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/apply_1st.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arg_typedef.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arithmetic_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arity_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/at_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/back_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/basic_bind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/begin_end_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/clear_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/comparison_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dependent_nttp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/eti.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/gcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/gpu.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/has_apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/has_xxx.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/intel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/lambda.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/msvc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/msvc_typename.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/nttp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/pp_counter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/static_constant.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/typeof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/use_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/workaround.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/contains_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_args.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/empty_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/erase_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/erase_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/filter_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_pred.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/front_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/full_lambda.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_begin.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/insert_range_impl.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/inserter_algorithm.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/is_msvc_eti_arg.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_fold_if_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/joint_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_arity_param.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_no_ctps.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/largest_int.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/logical_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_dtw.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_eti_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_is_class.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_never_true.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nttp_decl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/numeric_cast_utils.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/numeric_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/order_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/overload_names.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/partition_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/pop_back_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/pop_front_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/add.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/def_params_tail.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/default_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/enum.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/ext_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/filter_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/is_seq.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/range.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/repeat.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/sub.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/token_equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/tuple.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/push_back_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/push_front_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_fold_impl_body.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_iter_fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/sequence_wrapper.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/shift_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/single_element_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/sort_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/data.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/test_case.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/traits_lambda_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/transform_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/type_wrapper.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/unwrap.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/value_wknd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/yes_no.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/back_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/back_inserter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/begin.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/begin_end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/begin_end_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bind_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitwise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitxor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bool_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/clear.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/clear_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/comparison.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/contains.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/contains_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/copy.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/copy_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/count.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/count_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/count_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/deque.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/deref.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/distance.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/distance_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/divides.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_base.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_sequence.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/equal_to.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_key.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_key_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/eval_if.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/filter_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/find.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/find_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/for_each.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/front_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/front_inserter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/greater.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/greater_equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_key.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_key_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +12 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/identity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/index_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/index_of.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/inherit.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/inherit_linearly.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_range.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_range_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/inserter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/int.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/int_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c_tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/is_placeholder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/is_sequence.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iter_fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iter_fold_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_category.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_range.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_tags.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/joint_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/key_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/key_type_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lambda.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lambda_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/less.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/less_equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/arity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/list.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/map.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/set.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/unrolling.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/vector.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/begin_end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/clear.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/item.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/numbered_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/pop_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/push_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list0_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list10_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list20_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list30_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list40_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list50_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/logical.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/long.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/long_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/at_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/begin_end_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/clear_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/contains_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/empty_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/erase_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/erase_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/has_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/insert_range_impl.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/item.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/key_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/map0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/value_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map0.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/math/fixed_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/math/is_even.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/math/rational_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/max.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/max_element.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/min.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/min_element.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/min_max.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/minus.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/modulus.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiplies.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/count_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/item.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/multiset0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/multiset0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/negate.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/next.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/next_prior.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/not.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/not_equal_to.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/order.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/order_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pair.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pair_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/partition.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/placeholders.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/plus.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_back_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_front_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/print.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/prior.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/protect.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_back_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_front_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/quote.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/range_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/remove.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/remove_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/replace.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/replace_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse_fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse_iter_fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/same_as.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sequence_tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sequence_tag_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/at_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/begin_end_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/clear_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/empty_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/erase_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/erase_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/has_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/insert_range_impl.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/item.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/key_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/numbered_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/set0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/value_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set0.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set0_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set10_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set20_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set30_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set40_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set50_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/shift_left.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/shift_right.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/single_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size_t.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size_t_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sizeof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sort.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/stable_partition.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/string.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/switch.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/times.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/transform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/transform_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/unique.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/unpack_args.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/value_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/value_type_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/begin_end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/clear.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/item.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/numbered_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/pop_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/pop_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/push_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/vector0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector0_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector10_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector20_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector30_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector40_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector50_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/void.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/void_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/zip_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +118 -4
- data/src/cxx_supportlib/vendor-modified/boost/noncopyable.hpp +12 -43
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +32 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +18 -2
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +9 -37
- data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +660 -84
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +4 -27
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +2 -28
- data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +6 -107
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +2 -28
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/predef.h +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/_cassert.h +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/_exception.h +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/comp_detected.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/os_detected.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/platform_detected.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/test.h +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/test_def.h +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware.h +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +123 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library.h +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c.h +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/_prefix.h +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/_prefix.h +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +103 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other.h +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/dec.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/push_back.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/push_front.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +17 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +16 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/empty.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/identity.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_or_1.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/library.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +27 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +19 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +57 -10
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +58 -10
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +18 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +19 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/size.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/eat.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_array.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/algorithm/equal.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +35 -15
- data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/range/const_iterator.hpp +39 -30
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/extract_optional_type.hpp +21 -25
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/difference_type.hpp +20 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/empty.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +481 -251
- data/src/cxx_supportlib/vendor-modified/boost/range/mutable_iterator.hpp +41 -29
- data/src/cxx_supportlib/vendor-modified/boost/range/range_fwd.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/reverse_iterator.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +30 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/range/value_type.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +63 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/ref.hpp +12 -184
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +51 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/mfc.hpp +30 -34
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +25 -38
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +211 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +161 -106
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +24 -21
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +46 -20
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +206 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +122 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +6 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +75 -71
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +6 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +43 -41
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +103 -172
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_allocator.hpp +318 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_count_impl.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp +16 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_utility.hpp +106 -70
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +36 -59
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/{atomic_count_pthreads.hpp → atomic_count_pt.hpp} +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +116 -10
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +140 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +137 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +21 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_disable_deprecated.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_if_array.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +80 -169
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +121 -118
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +54 -12
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -19
- data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +467 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/barrier.hpp +222 -36
- data/src/cxx_supportlib/vendor-modified/boost/thread/caller_context.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/completion_latch.hpp +4 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +202 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_views.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +223 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +223 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +202 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_views.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +725 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +327 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +369 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +335 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +466 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/devector.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/cv_status.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +32 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/counter.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/delete.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/function_wrapper.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +373 -120
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoker.hpp +762 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/is_convertible.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/memory.hpp +11 -119
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +116 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +41 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_group.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/variadic_footer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/variadic_header.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptional_ptr.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executor.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +318 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/priority_executor_base.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/scheduled_executor_base.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +213 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +205 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +271 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +216 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +170 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/config/inline_namespace.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/exception_list.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v1/exception_list.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v1/inline_namespace.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/inline_namespace.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +316 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/task_region.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +3327 -1705
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/future_error.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/{future_error_code.hpp → futures/future_error_code.hpp} +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/future_status.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/is_future_type.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/launch.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_all.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/latch.hpp +43 -15
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_types.hpp +45 -41
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_adapter.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/ostream_buffer.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +101 -56
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +141 -47
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +39 -10
- data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/shared_mutex.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/sync_bounded_queue.hpp +2 -580
- data/src/cxx_supportlib/vendor-modified/boost/thread/sync_queue.hpp +2 -502
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +78 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/testable_mutex.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_pool.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +202 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/thread.hpp +73 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/with_lock_guard.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +3 -17
- data/src/cxx_supportlib/vendor-modified/boost/token_iterator.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +14 -5
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_const.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_cv.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_lvalue_reference.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +6 -17
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +14 -62
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_rvalue_reference.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_volatile.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +134 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +9 -18
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/{detail/wrap.hpp → alignment_traits.hpp} +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/arithmetic_traits.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/array_traits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/broken_compiler_spec.hpp +9 -105
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +118 -131
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conditional.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/config.hpp +5 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/decay.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/declval.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/bool_trait_def.hpp +9 -26
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/bool_trait_undef.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +212 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_type_impl.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/composite_member_pointer_type.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/composite_pointer_type.hpp +153 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +12 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +12 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +14 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_and.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_eq.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_not.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_or.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +13 -218
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +13 -107
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +15 -974
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/mp_defer.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/template_arity_spec.hpp +6 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/floating_point_promotion.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/function_traits.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_and.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_and_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_or.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_or_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_xor.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_xor_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_complement.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_divides.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_divides_assign.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_equal_to.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater_equal.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_left_shift.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_left_shift_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less_equal.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_and.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_not.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_or.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_modulus.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_modulus_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_multiplies.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_multiplies_assign.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_negate.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_new_operator.hpp +147 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_not_equal_to.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_assign.hpp +57 -18
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_constructor.hpp +43 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +52 -23
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_operator.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_right_shift.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_right_shift_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_assign.hpp +23 -29
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_constructor.hpp +31 -25
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_copy.hpp +34 -36
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_destructor.hpp +21 -22
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +40 -25
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +45 -25
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_unary_minus.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_unary_plus.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_virtual_destructor.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +86 -33
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +116 -41
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_abstract.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_arithmetic.hpp +3 -32
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +12 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +9 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_of.hpp +8 -20
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_of_tr1.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_class.hpp +17 -43
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complex.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +2 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +8 -127
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +94 -98
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +8 -117
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +19 -42
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_float.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +9 -18
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +2 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +43 -37
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +8 -76
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +18 -34
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_object_pointer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +8 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +32 -35
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +43 -41
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_object.hpp +7 -32
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pod.hpp +14 -101
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +12 -127
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_polymorphic.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_reference.hpp +6 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +4 -66
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scalar.hpp +3 -31
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +83 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_stateless.hpp +8 -23
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_union.hpp +6 -32
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +85 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_void.hpp +7 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +8 -115
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_signed.hpp +35 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_unsigned.hpp +34 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/promote.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/reference_traits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_bounds.hpp +4 -31
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +8 -65
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +8 -23
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_reference.hpp +5 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +7 -61
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_identity.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +101 -239
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +118 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +283 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +135 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +149 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +186 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +321 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +471 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +621 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocate.hpp +42 -34
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/buckets.hpp +108 -56
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/equivalent.hpp +30 -24
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/extract_key.hpp +21 -16
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/table.hpp +45 -33
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unique.hpp +21 -15
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/util.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered_map.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered_set.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/addressof.hpp +11 -96
- data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/binary.hpp +708 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/declval.hpp +5 -41
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +18 -5
- data/src/cxx_supportlib/vendor-modified/boost/utility/empty_deleter.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/enable_if.hpp +10 -112
- data/src/cxx_supportlib/vendor-modified/boost/utility/explicit_operator_bool.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/identity_type.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/in_place_factory.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +25 -9
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +536 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref_fwd.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +10 -48
- data/src/cxx_supportlib/vendor-modified/boost/utility/typed_in_place_factory.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +281 -0
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/visit_each.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/modp_b64.cpp +3 -1
- data/src/nginx_module/Configuration.c +157 -6
- data/src/nginx_module/Configuration.h +3 -1
- data/src/nginx_module/ContentHandler.c +2 -1
- data/src/nginx_module/ngx_http_passenger_module.c +27 -46
- data/src/nodejs_supportlib/phusion_passenger/log_express.js +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +102 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +20 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +36 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/LICENSE.md +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb +7 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/api.rb +28 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/misc.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/spec_helper.rb +18 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/transaction.rb +1 -10
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version_data.rb +4 -4
- metadata +609 -62
- data/src/agent/UstRouter/DataStoreId.h +0 -184
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.0 +0 -15374
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.1 +0 -15374
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.2 +0 -15374
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/requests +0 -568
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.0 +0 -3104
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.1 +0 -3104
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.2 +0 -699
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/base.hpp +0 -585
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas32strong.hpp +0 -885
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas32weak.hpp +0 -947
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas64strong.hpp +0 -443
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-alpha.hpp +0 -368
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-armv6plus.hpp +0 -252
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-cas.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-ppc.hpp +0 -2850
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-sparcv9.hpp +0 -1259
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-x86.hpp +0 -1766
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/generic-cas.hpp +0 -206
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/linux-arm.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type-classification.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithms.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/memory_util.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/preprocessor.hpp +0 -232
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/utilities.hpp +0 -1141
- data/src/cxx_supportlib/vendor-modified/boost/detail/is_incrementable.hpp +0 -134
- data/src/cxx_supportlib/vendor-modified/boost/detail/is_xxx.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/detail/limits.hpp +0 -449
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/attribute_noreturn.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/indirect_reference.hpp +0 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/clear_on_destructor_base.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/memory_util.hpp +0 -288
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/preprocessor.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/utilities.hpp +0 -858
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set_hook.hpp +0 -292
- data/src/cxx_supportlib/vendor-modified/boost/libs/atomic/lockpool.cpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/local_free_on_destruction.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/timeconv.inl +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/math/common_factor_ct.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/math_fwd.hpp +0 -108
- data/src/cxx_supportlib/vendor-modified/boost/parameter.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/pointee.hpp +0 -74
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/allocate_array_helper.hpp +0 -169
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_deleter.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/make_array_helper.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/async_func.hpp +0 -571
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_type_imp.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/cv_traits_impl.hpp +0 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/false_result.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/size_t_trait_def.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/size_t_trait_undef.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/type_trait_def.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/type_trait_undef.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/units/detail/utility.hpp +0 -104
@@ -1,6 +1,6 @@
|
|
1
1
|
/////////////////////////////////////////////////////////////////////////////
|
2
2
|
//
|
3
|
-
// (C) Copyright Ion Gaztanaga 2007-
|
3
|
+
// (C) Copyright Ion Gaztanaga 2007-2014
|
4
4
|
//
|
5
5
|
// Distributed under the Boost Software License, Version 1.0.
|
6
6
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
@@ -13,58 +13,41 @@
|
|
13
13
|
#define BOOST_INTRUSIVE_SPLAYTREE_HPP
|
14
14
|
|
15
15
|
#include <boost/intrusive/detail/config_begin.hpp>
|
16
|
-
#include <
|
17
|
-
#include <iterator>
|
18
|
-
#include <utility>
|
16
|
+
#include <boost/intrusive/intrusive_fwd.hpp>
|
19
17
|
#include <cstddef>
|
20
|
-
#include <
|
21
|
-
#include <boost/intrusive/detail/
|
18
|
+
#include <boost/intrusive/detail/minimal_less_equal_header.hpp>
|
19
|
+
#include <boost/intrusive/detail/minimal_pair_header.hpp> //std::pair
|
20
|
+
|
22
21
|
#include <boost/static_assert.hpp>
|
23
|
-
#include <boost/intrusive/
|
24
|
-
#include <boost/intrusive/pointer_traits.hpp>
|
25
|
-
#include <boost/intrusive/splay_set_hook.hpp>
|
22
|
+
#include <boost/intrusive/bstree.hpp>
|
26
23
|
#include <boost/intrusive/detail/tree_node.hpp>
|
27
|
-
#include <boost/intrusive/detail/ebo_functor_holder.hpp>
|
28
|
-
#include <boost/intrusive/detail/clear_on_destructor_base.hpp>
|
29
24
|
#include <boost/intrusive/detail/mpl.hpp>
|
30
|
-
#include <boost/intrusive/detail/utilities.hpp>
|
31
25
|
#include <boost/intrusive/pointer_traits.hpp>
|
32
|
-
#include <boost/intrusive/
|
26
|
+
#include <boost/intrusive/detail/function_detector.hpp>
|
27
|
+
#include <boost/intrusive/detail/get_value_traits.hpp>
|
33
28
|
#include <boost/intrusive/splaytree_algorithms.hpp>
|
34
29
|
#include <boost/intrusive/link_mode.hpp>
|
35
|
-
#include <boost/
|
30
|
+
#include <boost/intrusive/detail/key_nodeptr_comp.hpp>
|
31
|
+
#include <boost/move/utility_core.hpp>
|
36
32
|
|
33
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
34
|
+
# pragma once
|
35
|
+
#endif
|
37
36
|
|
38
37
|
namespace boost {
|
39
38
|
namespace intrusive {
|
40
39
|
|
41
40
|
/// @cond
|
42
41
|
|
43
|
-
|
44
|
-
|
45
|
-
{
|
46
|
-
typedef ValueTraits value_traits;
|
47
|
-
typedef Compare compare;
|
48
|
-
typedef SizeType size_type;
|
49
|
-
static const bool constant_time_size = ConstantTimeSize;
|
50
|
-
};
|
51
|
-
|
52
|
-
template <class T>
|
53
|
-
struct splay_set_defaults
|
54
|
-
: pack_options
|
55
|
-
< none
|
56
|
-
, base_hook<detail::default_splay_set_hook>
|
57
|
-
, constant_time_size<true>
|
58
|
-
, size_type<std::size_t>
|
59
|
-
, compare<std::less<T> >
|
60
|
-
>::type
|
42
|
+
struct splaytree_defaults
|
43
|
+
: bstree_defaults
|
61
44
|
{};
|
62
45
|
|
63
46
|
/// @endcond
|
64
47
|
|
65
48
|
//! The class template splaytree is an intrusive splay tree container that
|
66
49
|
//! is used to construct intrusive splay_set and splay_multiset containers. The no-throw
|
67
|
-
//! guarantee holds only, if the
|
50
|
+
//! guarantee holds only, if the key_compare object
|
68
51
|
//! doesn't throw.
|
69
52
|
//!
|
70
53
|
//! The template parameter \c T is the type to be managed by the container.
|
@@ -78,1704 +61,571 @@ struct splay_set_defaults
|
|
78
61
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
79
62
|
template<class T, class ...Options>
|
80
63
|
#else
|
81
|
-
template<class
|
64
|
+
template<class ValueTraits, class VoidOrKeyOfValue, class VoidOrKeyComp, class SizeType, bool ConstantTimeSize, typename HeaderHolder>
|
82
65
|
#endif
|
83
66
|
class splaytree_impl
|
84
|
-
|
67
|
+
/// @cond
|
68
|
+
: public bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, SplayTreeAlgorithms, HeaderHolder>
|
69
|
+
/// @endcond
|
85
70
|
{
|
86
|
-
template<class C> friend class detail::clear_on_destructor_base;
|
87
71
|
public:
|
88
|
-
typedef
|
72
|
+
typedef ValueTraits value_traits;
|
89
73
|
/// @cond
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
, detail::eval_value_traits<value_traits>
|
95
|
-
, detail::identity<value_traits>
|
96
|
-
>::type real_value_traits;
|
74
|
+
typedef bstree_impl< ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType
|
75
|
+
, ConstantTimeSize, SplayTreeAlgorithms
|
76
|
+
, HeaderHolder> tree_type;
|
77
|
+
typedef tree_type implementation_defined;
|
97
78
|
/// @endcond
|
98
|
-
typedef typename real_value_traits::pointer pointer;
|
99
|
-
typedef typename real_value_traits::const_pointer const_pointer;
|
100
|
-
typedef typename pointer_traits<pointer>::element_type value_type;
|
101
|
-
typedef typename pointer_traits<pointer>::reference reference;
|
102
|
-
typedef typename pointer_traits<const_pointer>::reference const_reference;
|
103
|
-
typedef typename pointer_traits<pointer>::difference_type difference_type;
|
104
|
-
typedef typename Config::size_type size_type;
|
105
|
-
typedef value_type key_type;
|
106
|
-
typedef typename Config::compare value_compare;
|
107
|
-
typedef value_compare key_compare;
|
108
|
-
typedef tree_iterator<splaytree_impl, false> iterator;
|
109
|
-
typedef tree_iterator<splaytree_impl, true> const_iterator;
|
110
|
-
typedef boost::intrusive::detail::reverse_iterator<iterator> reverse_iterator;
|
111
|
-
typedef boost::intrusive::detail::reverse_iterator<const_iterator>const_reverse_iterator;
|
112
|
-
typedef typename real_value_traits::node_traits node_traits;
|
113
|
-
typedef typename node_traits::node node;
|
114
|
-
typedef typename pointer_traits
|
115
|
-
<pointer>::template rebind_pointer
|
116
|
-
<node>::type node_ptr;
|
117
|
-
typedef typename pointer_traits
|
118
|
-
<pointer>::template rebind_pointer
|
119
|
-
<const node>::type const_node_ptr;
|
120
|
-
typedef splaytree_algorithms<node_traits> node_algorithms;
|
121
|
-
|
122
|
-
static const bool constant_time_size = Config::constant_time_size;
|
123
|
-
static const bool stateful_value_traits = detail::is_stateful_value_traits<real_value_traits>::value;
|
124
79
|
|
80
|
+
typedef typename implementation_defined::pointer pointer;
|
81
|
+
typedef typename implementation_defined::const_pointer const_pointer;
|
82
|
+
typedef typename implementation_defined::value_type value_type;
|
83
|
+
typedef typename implementation_defined::key_type key_type;
|
84
|
+
typedef typename implementation_defined::key_of_value key_of_value;
|
85
|
+
typedef typename implementation_defined::reference reference;
|
86
|
+
typedef typename implementation_defined::const_reference const_reference;
|
87
|
+
typedef typename implementation_defined::difference_type difference_type;
|
88
|
+
typedef typename implementation_defined::size_type size_type;
|
89
|
+
typedef typename implementation_defined::value_compare value_compare;
|
90
|
+
typedef typename implementation_defined::key_compare key_compare;
|
91
|
+
typedef typename implementation_defined::iterator iterator;
|
92
|
+
typedef typename implementation_defined::const_iterator const_iterator;
|
93
|
+
typedef typename implementation_defined::reverse_iterator reverse_iterator;
|
94
|
+
typedef typename implementation_defined::const_reverse_iterator const_reverse_iterator;
|
95
|
+
typedef typename implementation_defined::node_traits node_traits;
|
96
|
+
typedef typename implementation_defined::node node;
|
97
|
+
typedef typename implementation_defined::node_ptr node_ptr;
|
98
|
+
typedef typename implementation_defined::const_node_ptr const_node_ptr;
|
99
|
+
typedef typename implementation_defined::node_algorithms node_algorithms;
|
100
|
+
|
101
|
+
static const bool constant_time_size = implementation_defined::constant_time_size;
|
125
102
|
/// @cond
|
126
103
|
private:
|
127
|
-
typedef detail::size_holder<constant_time_size, size_type> size_traits;
|
128
104
|
|
129
105
|
//noncopyable
|
130
106
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(splaytree_impl)
|
131
107
|
|
132
|
-
|
133
|
-
(int)real_value_traits::link_mode == (int)auto_unlink ||
|
134
|
-
(int)real_value_traits::link_mode == (int)safe_link };
|
108
|
+
/// @endcond
|
135
109
|
|
136
|
-
|
137
|
-
BOOST_STATIC_ASSERT(!(constant_time_size && ((int)real_value_traits::link_mode == (int)auto_unlink)));
|
110
|
+
public:
|
138
111
|
|
139
|
-
|
140
|
-
{ node header_; };
|
112
|
+
typedef typename implementation_defined::insert_commit_data insert_commit_data;
|
141
113
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
header_plus_size header_plus_size_;
|
148
|
-
};
|
114
|
+
//! @copydoc ::boost::intrusive::bstree::bstree(const key_compare &,const value_traits &)
|
115
|
+
explicit splaytree_impl( const key_compare &cmp = key_compare()
|
116
|
+
, const value_traits &v_traits = value_traits())
|
117
|
+
: tree_type(cmp, v_traits)
|
118
|
+
{}
|
149
119
|
|
150
|
-
|
120
|
+
//! @copydoc ::boost::intrusive::bstree::bstree(bool,Iterator,Iterator,const key_compare &,const value_traits &)
|
121
|
+
template<class Iterator>
|
122
|
+
splaytree_impl( bool unique, Iterator b, Iterator e
|
123
|
+
, const key_compare &cmp = key_compare()
|
124
|
+
, const value_traits &v_traits = value_traits())
|
125
|
+
: tree_type(cmp, v_traits)
|
151
126
|
{
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
} data_;
|
127
|
+
if(unique)
|
128
|
+
this->insert_unique(b, e);
|
129
|
+
else
|
130
|
+
this->insert_equal(b, e);
|
131
|
+
}
|
158
132
|
|
159
|
-
|
160
|
-
|
133
|
+
//! @copydoc ::boost::intrusive::bstree::bstree(bstree &&)
|
134
|
+
splaytree_impl(BOOST_RV_REF(splaytree_impl) x)
|
135
|
+
: tree_type(BOOST_MOVE_BASE(tree_type, x))
|
136
|
+
{}
|
161
137
|
|
162
|
-
|
163
|
-
|
138
|
+
//! @copydoc ::boost::intrusive::bstree::operator=(bstree &&)
|
139
|
+
splaytree_impl& operator=(BOOST_RV_REF(splaytree_impl) x)
|
140
|
+
{ return static_cast<splaytree_impl&>(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); }
|
164
141
|
|
165
|
-
|
166
|
-
|
142
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
143
|
+
//! @copydoc ::boost::intrusive::bstree::~bstree()
|
144
|
+
~splaytree_impl();
|
167
145
|
|
168
|
-
|
169
|
-
|
146
|
+
//! @copydoc ::boost::intrusive::bstree::begin()
|
147
|
+
iterator begin();
|
170
148
|
|
171
|
-
|
172
|
-
|
149
|
+
//! @copydoc ::boost::intrusive::bstree::begin()const
|
150
|
+
const_iterator begin() const;
|
173
151
|
|
174
|
-
|
175
|
-
|
152
|
+
//! @copydoc ::boost::intrusive::bstree::cbegin()const
|
153
|
+
const_iterator cbegin() const;
|
176
154
|
|
177
|
-
|
178
|
-
|
155
|
+
//! @copydoc ::boost::intrusive::bstree::end()
|
156
|
+
iterator end();
|
179
157
|
|
180
|
-
|
181
|
-
|
158
|
+
//! @copydoc ::boost::intrusive::bstree::end()const
|
159
|
+
const_iterator end() const;
|
182
160
|
|
183
|
-
|
184
|
-
|
161
|
+
//! @copydoc ::boost::intrusive::bstree::cend()const
|
162
|
+
const_iterator cend() const;
|
185
163
|
|
186
|
-
|
187
|
-
|
164
|
+
//! @copydoc ::boost::intrusive::bstree::rbegin()
|
165
|
+
reverse_iterator rbegin();
|
188
166
|
|
189
|
-
|
190
|
-
|
167
|
+
//! @copydoc ::boost::intrusive::bstree::rbegin()const
|
168
|
+
const_reverse_iterator rbegin() const;
|
191
169
|
|
192
|
-
|
193
|
-
|
170
|
+
//! @copydoc ::boost::intrusive::bstree::crbegin()const
|
171
|
+
const_reverse_iterator crbegin() const;
|
194
172
|
|
195
|
-
|
196
|
-
|
173
|
+
//! @copydoc ::boost::intrusive::bstree::rend()
|
174
|
+
reverse_iterator rend();
|
197
175
|
|
198
|
-
|
176
|
+
//! @copydoc ::boost::intrusive::bstree::rend()const
|
177
|
+
const_reverse_iterator rend() const;
|
199
178
|
|
200
|
-
|
179
|
+
//! @copydoc ::boost::intrusive::bstree::crend()const
|
180
|
+
const_reverse_iterator crend() const;
|
201
181
|
|
202
|
-
|
203
|
-
|
182
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator)
|
183
|
+
static splaytree_impl &container_from_end_iterator(iterator end_iterator);
|
204
184
|
|
205
|
-
|
206
|
-
|
185
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator)
|
186
|
+
static const splaytree_impl &container_from_end_iterator(const_iterator end_iterator);
|
207
187
|
|
208
|
-
|
188
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator)
|
189
|
+
static splaytree_impl &container_from_iterator(iterator it);
|
209
190
|
|
210
|
-
//!
|
211
|
-
|
212
|
-
//! <b>Complexity</b>: Constant.
|
213
|
-
//!
|
214
|
-
//! <b>Throws</b>: If value_traits::node_traits::node
|
215
|
-
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
216
|
-
//! or the copy constructorof the value_compare object throws. Basic guarantee.
|
217
|
-
explicit splaytree_impl( const value_compare &cmp = value_compare()
|
218
|
-
, const value_traits &v_traits = value_traits())
|
219
|
-
: data_(cmp, v_traits)
|
220
|
-
{
|
221
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
222
|
-
this->priv_size_traits().set_size(size_type(0));
|
223
|
-
}
|
191
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator)
|
192
|
+
static const splaytree_impl &container_from_iterator(const_iterator it);
|
224
193
|
|
225
|
-
//!
|
226
|
-
|
227
|
-
|
228
|
-
//!
|
229
|
-
|
230
|
-
|
231
|
-
//!
|
232
|
-
|
233
|
-
|
234
|
-
//!
|
235
|
-
|
236
|
-
|
194
|
+
//! @copydoc ::boost::intrusive::bstree::key_comp()const
|
195
|
+
key_compare key_comp() const;
|
196
|
+
|
197
|
+
//! @copydoc ::boost::intrusive::bstree::value_comp()const
|
198
|
+
value_compare value_comp() const;
|
199
|
+
|
200
|
+
//! @copydoc ::boost::intrusive::bstree::empty()const
|
201
|
+
bool empty() const;
|
202
|
+
|
203
|
+
//! @copydoc ::boost::intrusive::bstree::size()const
|
204
|
+
size_type size() const;
|
205
|
+
|
206
|
+
//! @copydoc ::boost::intrusive::bstree::swap
|
207
|
+
void swap(splaytree_impl& other);
|
208
|
+
|
209
|
+
//! @copydoc ::boost::intrusive::bstree::clone_from(const bstree&,Cloner,Disposer)
|
210
|
+
//! Additional notes: it also copies the alpha factor from the source container.
|
211
|
+
template <class Cloner, class Disposer>
|
212
|
+
void clone_from(const splaytree_impl &src, Cloner cloner, Disposer disposer);
|
213
|
+
|
214
|
+
#else //BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
215
|
+
|
216
|
+
using tree_type::clone_from;
|
217
|
+
|
218
|
+
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
219
|
+
|
220
|
+
//! @copydoc ::boost::intrusive::bstree::clone_from(bstree&&,Cloner,Disposer)
|
221
|
+
template <class Cloner, class Disposer>
|
222
|
+
void clone_from(BOOST_RV_REF(splaytree_impl) src, Cloner cloner, Disposer disposer)
|
223
|
+
{ tree_type::clone_from(BOOST_MOVE_BASE(tree_type, src), cloner, disposer); }
|
224
|
+
|
225
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
226
|
+
|
227
|
+
//! @copydoc ::boost::intrusive::bstree::insert_equal(reference)
|
228
|
+
iterator insert_equal(reference value);
|
229
|
+
|
230
|
+
//! @copydoc ::boost::intrusive::bstree::insert_equal(const_iterator,reference)
|
231
|
+
iterator insert_equal(const_iterator hint, reference value);
|
232
|
+
|
233
|
+
//! @copydoc ::boost::intrusive::bstree::insert_equal(Iterator,Iterator)
|
237
234
|
template<class Iterator>
|
238
|
-
|
239
|
-
, const value_compare &cmp = value_compare()
|
240
|
-
, const value_traits &v_traits = value_traits())
|
241
|
-
: data_(cmp, v_traits)
|
242
|
-
{
|
243
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
244
|
-
this->priv_size_traits().set_size(size_type(0));
|
245
|
-
if(unique)
|
246
|
-
this->insert_unique(b, e);
|
247
|
-
else
|
248
|
-
this->insert_equal(b, e);
|
249
|
-
}
|
235
|
+
void insert_equal(Iterator b, Iterator e);
|
250
236
|
|
251
|
-
//!
|
252
|
-
|
253
|
-
splaytree_impl(BOOST_RV_REF(splaytree_impl) x)
|
254
|
-
: data_(::boost::move(x.priv_comp()), ::boost::move(x.priv_value_traits()))
|
255
|
-
{
|
256
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
257
|
-
this->priv_size_traits().set_size(size_type(0));
|
258
|
-
this->swap(x);
|
259
|
-
}
|
237
|
+
//! @copydoc ::boost::intrusive::bstree::insert_unique(reference)
|
238
|
+
std::pair<iterator, bool> insert_unique(reference value);
|
260
239
|
|
261
|
-
//!
|
262
|
-
|
263
|
-
splaytree_impl& operator=(BOOST_RV_REF(splaytree_impl) x)
|
264
|
-
{ this->swap(x); return *this; }
|
240
|
+
//! @copydoc ::boost::intrusive::bstree::insert_unique(const_iterator,reference)
|
241
|
+
iterator insert_unique(const_iterator hint, reference value);
|
265
242
|
|
266
|
-
//!
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
//! <b>Complexity</b>: Linear to the number of elements on the container.
|
271
|
-
//! if it's a safe-mode or auto-unlink value_type. Constant time otherwise.
|
272
|
-
//!
|
273
|
-
//! <b>Throws</b>: Nothing.
|
274
|
-
~splaytree_impl()
|
275
|
-
{}
|
243
|
+
//! @copydoc ::boost::intrusive::bstree::insert_unique_check(const KeyType&,KeyTypeKeyCompare,insert_commit_data&)
|
244
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
245
|
+
std::pair<iterator, bool> insert_unique_check
|
246
|
+
(const KeyType &key, KeyTypeKeyCompare comp, insert_commit_data &commit_data);
|
276
247
|
|
277
|
-
//!
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
iterator begin()
|
283
|
-
{ return iterator(node_algorithms::begin_node(this->priv_header_ptr()), this); }
|
248
|
+
//! @copydoc ::boost::intrusive::bstree::insert_unique_check(const_iterator,const KeyType&,KeyTypeKeyCompare,insert_commit_data&)
|
249
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
250
|
+
std::pair<iterator, bool> insert_unique_check
|
251
|
+
(const_iterator hint, const KeyType &key
|
252
|
+
,KeyTypeKeyCompare comp, insert_commit_data &commit_data);
|
284
253
|
|
285
|
-
//!
|
286
|
-
|
287
|
-
//! <b>Complexity</b>: Constant.
|
288
|
-
//!
|
289
|
-
//! <b>Throws</b>: Nothing.
|
290
|
-
const_iterator begin() const
|
291
|
-
{ return cbegin(); }
|
254
|
+
//! @copydoc ::boost::intrusive::bstree::insert_unique_commit
|
255
|
+
iterator insert_unique_commit(reference value, const insert_commit_data &commit_data);
|
292
256
|
|
293
|
-
//!
|
294
|
-
|
295
|
-
|
296
|
-
//!
|
297
|
-
//! <b>Throws</b>: Nothing.
|
298
|
-
const_iterator cbegin() const
|
299
|
-
{ return const_iterator(node_algorithms::begin_node(this->priv_header_ptr()), this); }
|
257
|
+
//! @copydoc ::boost::intrusive::bstree::insert_unique(Iterator,Iterator)
|
258
|
+
template<class Iterator>
|
259
|
+
void insert_unique(Iterator b, Iterator e);
|
300
260
|
|
301
|
-
//!
|
302
|
-
|
303
|
-
//! <b>Complexity</b>: Constant.
|
304
|
-
//!
|
305
|
-
//! <b>Throws</b>: Nothing.
|
306
|
-
iterator end()
|
307
|
-
{ return iterator (this->priv_header_ptr(), this); }
|
261
|
+
//! @copydoc ::boost::intrusive::bstree::insert_before
|
262
|
+
iterator insert_before(const_iterator pos, reference value);
|
308
263
|
|
309
|
-
//!
|
310
|
-
|
311
|
-
//! <b>Complexity</b>: Constant.
|
312
|
-
//!
|
313
|
-
//! <b>Throws</b>: Nothing.
|
314
|
-
const_iterator end() const
|
315
|
-
{ return cend(); }
|
264
|
+
//! @copydoc ::boost::intrusive::bstree::push_back
|
265
|
+
void push_back(reference value);
|
316
266
|
|
317
|
-
//!
|
318
|
-
|
319
|
-
//! <b>Complexity</b>: Constant.
|
320
|
-
//!
|
321
|
-
//! <b>Throws</b>: Nothing.
|
322
|
-
const_iterator cend() const
|
323
|
-
{ return const_iterator (uncast(this->priv_header_ptr()), this); }
|
267
|
+
//! @copydoc ::boost::intrusive::bstree::push_front
|
268
|
+
void push_front(reference value);
|
324
269
|
|
325
|
-
//!
|
326
|
-
|
327
|
-
//!
|
328
|
-
//! <b>Complexity</b>: Constant.
|
329
|
-
//!
|
330
|
-
//! <b>Throws</b>: Nothing.
|
331
|
-
reverse_iterator rbegin()
|
332
|
-
{ return reverse_iterator(end()); }
|
270
|
+
//! @copydoc ::boost::intrusive::bstree::erase(const_iterator)
|
271
|
+
iterator erase(const_iterator i);
|
333
272
|
|
334
|
-
//!
|
335
|
-
|
336
|
-
//!
|
337
|
-
//! <b>Complexity</b>: Constant.
|
338
|
-
//!
|
339
|
-
//! <b>Throws</b>: Nothing.
|
340
|
-
const_reverse_iterator rbegin() const
|
341
|
-
{ return const_reverse_iterator(end()); }
|
273
|
+
//! @copydoc ::boost::intrusive::bstree::erase(const_iterator,const_iterator)
|
274
|
+
iterator erase(const_iterator b, const_iterator e);
|
342
275
|
|
343
|
-
//!
|
344
|
-
|
345
|
-
//!
|
346
|
-
//! <b>Complexity</b>: Constant.
|
347
|
-
//!
|
348
|
-
//! <b>Throws</b>: Nothing.
|
349
|
-
const_reverse_iterator crbegin() const
|
350
|
-
{ return const_reverse_iterator(end()); }
|
276
|
+
//! @copydoc ::boost::intrusive::bstree::erase(const key_type &)
|
277
|
+
size_type erase(const key_type &key);
|
351
278
|
|
352
|
-
//!
|
353
|
-
|
354
|
-
|
355
|
-
//! <b>Complexity</b>: Constant.
|
356
|
-
//!
|
357
|
-
//! <b>Throws</b>: Nothing.
|
358
|
-
reverse_iterator rend()
|
359
|
-
{ return reverse_iterator(begin()); }
|
279
|
+
//! @copydoc ::boost::intrusive::bstree::erase(const KeyType&,KeyTypeKeyCompare)
|
280
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
281
|
+
size_type erase(const KeyType& key, KeyTypeKeyCompare comp);
|
360
282
|
|
361
|
-
//!
|
362
|
-
|
363
|
-
|
364
|
-
//! <b>Complexity</b>: Constant.
|
365
|
-
//!
|
366
|
-
//! <b>Throws</b>: Nothing.
|
367
|
-
const_reverse_iterator rend() const
|
368
|
-
{ return const_reverse_iterator(begin()); }
|
283
|
+
//! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,Disposer)
|
284
|
+
template<class Disposer>
|
285
|
+
iterator erase_and_dispose(const_iterator i, Disposer disposer);
|
369
286
|
|
370
|
-
//!
|
371
|
-
|
372
|
-
|
373
|
-
//! <b>Complexity</b>: Constant.
|
374
|
-
//!
|
375
|
-
//! <b>Throws</b>: Nothing.
|
376
|
-
const_reverse_iterator crend() const
|
377
|
-
{ return const_reverse_iterator(begin()); }
|
287
|
+
//! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const_iterator,const_iterator,Disposer)
|
288
|
+
template<class Disposer>
|
289
|
+
iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer);
|
378
290
|
|
379
|
-
//!
|
380
|
-
|
381
|
-
|
382
|
-
//! <b>Effects</b>: Returns a const reference to the splaytree associated to the end iterator
|
383
|
-
//!
|
384
|
-
//! <b>Throws</b>: Nothing.
|
385
|
-
//!
|
386
|
-
//! <b>Complexity</b>: Constant.
|
387
|
-
static splaytree_impl &container_from_end_iterator(iterator end_iterator)
|
388
|
-
{ return priv_container_from_end_iterator(end_iterator); }
|
291
|
+
//! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const key_type &, Disposer)
|
292
|
+
template<class Disposer>
|
293
|
+
size_type erase_and_dispose(const key_type &key, Disposer disposer);
|
389
294
|
|
390
|
-
//!
|
391
|
-
|
392
|
-
|
393
|
-
//! <b>Effects</b>: Returns a const reference to the splaytree associated to the end iterator
|
394
|
-
//!
|
395
|
-
//! <b>Throws</b>: Nothing.
|
396
|
-
//!
|
397
|
-
//! <b>Complexity</b>: Constant.
|
398
|
-
static const splaytree_impl &container_from_end_iterator(const_iterator end_iterator)
|
399
|
-
{ return priv_container_from_end_iterator(end_iterator); }
|
295
|
+
//! @copydoc ::boost::intrusive::bstree::erase_and_dispose(const KeyType&,KeyTypeKeyCompare,Disposer)
|
296
|
+
template<class KeyType, class KeyTypeKeyCompare, class Disposer>
|
297
|
+
size_type erase_and_dispose(const KeyType& key, KeyTypeKeyCompare comp, Disposer disposer);
|
400
298
|
|
401
|
-
//!
|
402
|
-
|
403
|
-
//!
|
404
|
-
//! <b>Effects</b>: Returns a const reference to the tree associated to the iterator
|
405
|
-
//!
|
406
|
-
//! <b>Throws</b>: Nothing.
|
407
|
-
//!
|
408
|
-
//! <b>Complexity</b>: Logarithmic.
|
409
|
-
static splaytree_impl &container_from_iterator(iterator it)
|
410
|
-
{ return priv_container_from_iterator(it); }
|
299
|
+
//! @copydoc ::boost::intrusive::bstree::clear
|
300
|
+
void clear();
|
411
301
|
|
412
|
-
//!
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
//!
|
417
|
-
//!
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
302
|
+
//! @copydoc ::boost::intrusive::bstree::clear_and_dispose
|
303
|
+
template<class Disposer>
|
304
|
+
void clear_and_dispose(Disposer disposer);
|
305
|
+
|
306
|
+
//! @copydoc ::boost::intrusive::bstree::count(const key_type &)const
|
307
|
+
//! Additional note: non-const function, splaying is performed.
|
308
|
+
size_type count(const key_type &key);
|
309
|
+
|
310
|
+
//! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyTypeKeyCompare)const
|
311
|
+
//! Additional note: non-const function, splaying is performed.
|
312
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
313
|
+
size_type count(const KeyType &key, KeyTypeKeyCompare comp);
|
314
|
+
|
315
|
+
//! @copydoc ::boost::intrusive::bstree::count(const key_type &)const
|
316
|
+
//! Additional note: const function, no splaying is performed
|
317
|
+
size_type count(const key_type &key) const;
|
318
|
+
|
319
|
+
//! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyTypeKeyCompare)const
|
320
|
+
//! Additional note: const function, no splaying is performed
|
321
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
322
|
+
size_type count(const KeyType &key, KeyTypeKeyCompare comp) const;
|
323
|
+
|
324
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const key_type &)
|
325
|
+
//! Additional note: non-const function, splaying is performed.
|
326
|
+
iterator lower_bound(const key_type &key);
|
327
|
+
|
328
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const key_type &)const
|
329
|
+
//! Additional note: const function, no splaying is performed
|
330
|
+
const_iterator lower_bound(const key_type &key) const;
|
331
|
+
|
332
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyTypeKeyCompare)
|
333
|
+
//! Additional note: non-const function, splaying is performed for the first
|
334
|
+
//! element of the equal range of "key"
|
335
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
336
|
+
iterator lower_bound(const KeyType &key, KeyTypeKeyCompare comp);
|
337
|
+
|
338
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyTypeKeyCompare)const
|
339
|
+
//! Additional note: const function, no splaying is performed
|
340
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
341
|
+
const_iterator lower_bound(const KeyType &key, KeyTypeKeyCompare comp) const;
|
342
|
+
|
343
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const key_type &)
|
344
|
+
//! Additional note: non-const function, splaying is performed for the first
|
345
|
+
//! element of the equal range of "value"
|
346
|
+
iterator upper_bound(const key_type &key);
|
347
|
+
|
348
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const key_type &)const
|
349
|
+
//! Additional note: const function, no splaying is performed
|
350
|
+
const_iterator upper_bound(const key_type &key) const;
|
351
|
+
|
352
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyTypeKeyCompare)
|
353
|
+
//! Additional note: non-const function, splaying is performed for the first
|
354
|
+
//! element of the equal range of "key"
|
355
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
356
|
+
iterator upper_bound(const KeyType &key, KeyTypeKeyCompare comp);
|
357
|
+
|
358
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyTypeKeyCompare)const
|
359
|
+
//! Additional note: const function, no splaying is performed
|
360
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
361
|
+
const_iterator upper_bound(const KeyType &key, KeyTypeKeyCompare comp) const;
|
362
|
+
|
363
|
+
//! @copydoc ::boost::intrusive::bstree::find(const key_type &)
|
364
|
+
//! Additional note: non-const function, splaying is performed for the first
|
365
|
+
//! element of the equal range of "value"
|
366
|
+
iterator find(const key_type &key);
|
367
|
+
|
368
|
+
//! @copydoc ::boost::intrusive::bstree::find(const key_type &)const
|
369
|
+
//! Additional note: const function, no splaying is performed
|
370
|
+
const_iterator find(const key_type &key) const;
|
371
|
+
|
372
|
+
//! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyTypeKeyCompare)
|
373
|
+
//! Additional note: non-const function, splaying is performed for the first
|
374
|
+
//! element of the equal range of "key"
|
375
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
376
|
+
iterator find(const KeyType &key, KeyTypeKeyCompare comp);
|
377
|
+
|
378
|
+
//! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyTypeKeyCompare)const
|
379
|
+
//! Additional note: const function, no splaying is performed
|
380
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
381
|
+
const_iterator find(const KeyType &key, KeyTypeKeyCompare comp) const;
|
382
|
+
|
383
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const key_type &)
|
384
|
+
//! Additional note: non-const function, splaying is performed for the first
|
385
|
+
//! element of the equal range of "value"
|
386
|
+
std::pair<iterator, iterator> equal_range(const key_type &key);
|
387
|
+
|
388
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const key_type &)const
|
389
|
+
//! Additional note: const function, no splaying is performed
|
390
|
+
std::pair<const_iterator, const_iterator> equal_range(const key_type &key) const;
|
391
|
+
|
392
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyTypeKeyCompare)
|
393
|
+
//! Additional note: non-const function, splaying is performed for the first
|
394
|
+
//! element of the equal range of "key"
|
395
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
396
|
+
std::pair<iterator, iterator> equal_range(const KeyType &key, KeyTypeKeyCompare comp);
|
397
|
+
|
398
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyTypeKeyCompare)const
|
399
|
+
//! Additional note: const function, no splaying is performed
|
400
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
401
|
+
std::pair<const_iterator, const_iterator> equal_range(const KeyType &key, KeyTypeKeyCompare comp) const;
|
402
|
+
|
403
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const key_type &,const key_type &,bool,bool)
|
404
|
+
std::pair<iterator,iterator> bounded_range
|
405
|
+
(const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed);
|
422
406
|
|
423
|
-
//!
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
//! <b>Throws</b>: If value_compare copy-constructor throws.
|
428
|
-
value_compare value_comp() const
|
429
|
-
{ return priv_comp(); }
|
407
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)
|
408
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
409
|
+
std::pair<iterator,iterator> bounded_range
|
410
|
+
(const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed);
|
430
411
|
|
431
|
-
//!
|
432
|
-
|
433
|
-
|
434
|
-
//!
|
435
|
-
//! <b>Throws</b>: Nothing.
|
436
|
-
bool empty() const
|
437
|
-
{ return this->cbegin() == this->cend(); }
|
412
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const key_type &,const key_type &,bool,bool)const
|
413
|
+
std::pair<const_iterator, const_iterator> bounded_range
|
414
|
+
(const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed) const;
|
438
415
|
|
439
|
-
//!
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
//!
|
444
|
-
//! <b>Throws</b>: Nothing.
|
445
|
-
size_type size() const
|
446
|
-
{
|
447
|
-
if(constant_time_size){
|
448
|
-
return this->priv_size_traits().get_size();
|
449
|
-
}
|
450
|
-
else{
|
451
|
-
return (size_type)node_algorithms::size(this->priv_header_ptr());
|
452
|
-
}
|
453
|
-
}
|
416
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)const
|
417
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
418
|
+
std::pair<const_iterator, const_iterator> bounded_range
|
419
|
+
(const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed) const;
|
454
420
|
|
455
|
-
//!
|
456
|
-
|
457
|
-
//! <b>Complexity</b>: Constant.
|
458
|
-
//!
|
459
|
-
//! <b>Throws</b>: If the comparison functor's swap call throws.
|
460
|
-
void swap(splaytree_impl& other)
|
461
|
-
{
|
462
|
-
//This can throw
|
463
|
-
using std::swap;
|
464
|
-
swap(priv_comp(), priv_comp());
|
465
|
-
//These can't throw
|
466
|
-
node_algorithms::swap_tree(this->priv_header_ptr(), other.priv_header_ptr());
|
467
|
-
if(constant_time_size){
|
468
|
-
size_type backup = this->priv_size_traits().get_size();
|
469
|
-
this->priv_size_traits().set_size(other.priv_size_traits().get_size());
|
470
|
-
other.priv_size_traits().set_size(backup);
|
471
|
-
}
|
472
|
-
}
|
421
|
+
//! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference)
|
422
|
+
static iterator s_iterator_to(reference value);
|
473
423
|
|
474
|
-
//!
|
475
|
-
|
476
|
-
//! <b>Effects</b>: Inserts value into the tree before the lower bound.
|
477
|
-
//!
|
478
|
-
//! <b>Complexity</b>: Average complexity for insert element is amortized
|
479
|
-
//! logarithmic.
|
480
|
-
//!
|
481
|
-
//! <b>Throws</b>: If the internal value_compare ordering function throws. Strong guarantee.
|
482
|
-
//!
|
483
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
484
|
-
//! No copy-constructors are called.
|
485
|
-
iterator insert_equal(reference value)
|
486
|
-
{
|
487
|
-
detail::key_nodeptr_comp<value_compare, splaytree_impl>
|
488
|
-
key_node_comp(priv_comp(), this);
|
489
|
-
node_ptr to_insert(get_real_value_traits().to_node_ptr(value));
|
490
|
-
if(safemode_or_autounlink)
|
491
|
-
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert));
|
492
|
-
iterator ret (node_algorithms::insert_equal_lower_bound
|
493
|
-
(this->priv_header_ptr(), to_insert, key_node_comp), this);
|
494
|
-
this->priv_size_traits().increment();
|
495
|
-
return ret;
|
496
|
-
}
|
424
|
+
//! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference)
|
425
|
+
static const_iterator s_iterator_to(const_reference value);
|
497
426
|
|
498
|
-
//!
|
499
|
-
|
500
|
-
//!
|
501
|
-
//! <b>Effects</b>: Inserts x into the tree, using "hint" as a hint to
|
502
|
-
//! where it will be inserted. If "hint" is the upper_bound
|
503
|
-
//! the insertion takes constant time (two comparisons in the worst case)
|
504
|
-
//!
|
505
|
-
//! <b>Complexity</b>: Amortized logarithmic in general, but it is amortized
|
506
|
-
//! constant time if t is inserted immediately before hint.
|
507
|
-
//!
|
508
|
-
//! <b>Throws</b>: If the internal value_compare ordering function throws. Strong guarantee.
|
509
|
-
//!
|
510
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
511
|
-
//! No copy-constructors are called.
|
512
|
-
iterator insert_equal(const_iterator hint, reference value)
|
513
|
-
{
|
514
|
-
detail::key_nodeptr_comp<value_compare, splaytree_impl>
|
515
|
-
key_node_comp(priv_comp(), this);
|
516
|
-
node_ptr to_insert(get_real_value_traits().to_node_ptr(value));
|
517
|
-
if(safemode_or_autounlink)
|
518
|
-
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert));
|
519
|
-
iterator ret(node_algorithms::insert_equal
|
520
|
-
(this->priv_header_ptr(), hint.pointed_node(), to_insert, key_node_comp), this);
|
521
|
-
this->priv_size_traits().increment();
|
522
|
-
return ret;
|
523
|
-
}
|
427
|
+
//! @copydoc ::boost::intrusive::bstree::iterator_to(reference)
|
428
|
+
iterator iterator_to(reference value);
|
524
429
|
|
525
|
-
//!
|
526
|
-
|
527
|
-
//!
|
528
|
-
//! <b>Effects</b>: Inserts a each element of a range into the tree
|
529
|
-
//! before the upper bound of the key of each element.
|
530
|
-
//!
|
531
|
-
//! <b>Complexity</b>: Insert range is in general amortized O(N * log(N)), where N is the
|
532
|
-
//! size of the range. However, it is linear in N if the range is already sorted
|
533
|
-
//! by value_comp().
|
534
|
-
//!
|
535
|
-
//! <b>Throws</b>: Nothing.
|
536
|
-
//!
|
537
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
538
|
-
//! No copy-constructors are called.
|
539
|
-
template<class Iterator>
|
540
|
-
void insert_equal(Iterator b, Iterator e)
|
541
|
-
{
|
542
|
-
if(this->empty()){
|
543
|
-
iterator iend(this->end());
|
544
|
-
for (; b != e; ++b)
|
545
|
-
this->insert_equal(iend, *b);
|
546
|
-
}
|
547
|
-
}
|
430
|
+
//! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const
|
431
|
+
const_iterator iterator_to(const_reference value) const;
|
548
432
|
|
549
|
-
//!
|
550
|
-
|
551
|
-
//! <b>Effects</b>: Inserts value into the tree if the value
|
552
|
-
//! is not already present.
|
553
|
-
//!
|
554
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
555
|
-
//!
|
556
|
-
//! <b>Throws</b>: Nothing.
|
557
|
-
//!
|
558
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
559
|
-
//! No copy-constructors are called.
|
560
|
-
std::pair<iterator, bool> insert_unique(reference value)
|
561
|
-
{
|
562
|
-
insert_commit_data commit_data;
|
563
|
-
std::pair<iterator, bool> ret = insert_unique_check(value, priv_comp(), commit_data);
|
564
|
-
if(!ret.second)
|
565
|
-
return ret;
|
566
|
-
return std::pair<iterator, bool> (insert_unique_commit(value, commit_data), true);
|
567
|
-
}
|
433
|
+
//! @copydoc ::boost::intrusive::bstree::init_node(reference)
|
434
|
+
static void init_node(reference value);
|
568
435
|
|
569
|
-
//!
|
570
|
-
|
571
|
-
//!
|
572
|
-
//! <b>Effects</b>: Tries to insert x into the tree, using "hint" as a hint
|
573
|
-
//! to where it will be inserted.
|
574
|
-
//!
|
575
|
-
//! <b>Complexity</b>: Amortized logarithmic in general, but it is amortized
|
576
|
-
//! constant time (two comparisons in the worst case)
|
577
|
-
//! if t is inserted immediately before hint.
|
578
|
-
//!
|
579
|
-
//! <b>Throws</b>: Nothing.
|
580
|
-
//!
|
581
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
582
|
-
//! No copy-constructors are called.
|
583
|
-
iterator insert_unique(const_iterator hint, reference value)
|
584
|
-
{
|
585
|
-
insert_commit_data commit_data;
|
586
|
-
std::pair<iterator, bool> ret = insert_unique_check(hint, value, priv_comp(), commit_data);
|
587
|
-
if(!ret.second)
|
588
|
-
return ret.first;
|
589
|
-
return insert_unique_commit(value, commit_data);
|
590
|
-
}
|
436
|
+
//! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance
|
437
|
+
pointer unlink_leftmost_without_rebalance();
|
591
438
|
|
592
|
-
//!
|
593
|
-
|
594
|
-
//!
|
595
|
-
//! <b>Effects</b>: Tries to insert each element of a range into the tree.
|
596
|
-
//!
|
597
|
-
//! <b>Complexity</b>: Insert range is in general amortized O(N * log(N)), where N is the
|
598
|
-
//! size of the range. However, it is linear in N if the range is already sorted
|
599
|
-
//! by value_comp().
|
600
|
-
//!
|
601
|
-
//! <b>Throws</b>: Nothing.
|
602
|
-
//!
|
603
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
604
|
-
//! No copy-constructors are called.
|
605
|
-
template<class Iterator>
|
606
|
-
void insert_unique(Iterator b, Iterator e)
|
607
|
-
{
|
608
|
-
for (; b != e; ++b)
|
609
|
-
this->insert_unique(*b);
|
610
|
-
}
|
439
|
+
//! @copydoc ::boost::intrusive::bstree::replace_node
|
440
|
+
void replace_node(iterator replace_this, reference with_this);
|
611
441
|
|
612
|
-
//!
|
613
|
-
|
614
|
-
//! key_value_comp compares an arbitrary key with the contained values.
|
615
|
-
//!
|
616
|
-
//! <b>Effects</b>: Checks if a value can be inserted in the container, using
|
617
|
-
//! a user provided key instead of the value itself.
|
618
|
-
//!
|
619
|
-
//! <b>Returns</b>: If there is an equivalent value
|
620
|
-
//! returns a pair containing an iterator to the already present value
|
621
|
-
//! and false. If the value can be inserted returns true in the returned
|
622
|
-
//! pair boolean and fills "commit_data" that is meant to be used with
|
623
|
-
//! the "insert_commit" function.
|
624
|
-
//!
|
625
|
-
//! <b>Complexity</b>: Average complexity is at most logarithmic.
|
626
|
-
//!
|
627
|
-
//! <b>Throws</b>: If the key_value_comp ordering function throws. Strong guarantee.
|
628
|
-
//!
|
629
|
-
//! <b>Notes</b>: This function is used to improve performance when constructing
|
630
|
-
//! a value_type is expensive: if there is an equivalent value
|
631
|
-
//! the constructed object must be discarded. Many times, the part of the
|
632
|
-
//! node that is used to impose the order is much cheaper to construct
|
633
|
-
//! than the value_type and this function offers the possibility to use that
|
634
|
-
//! part to check if the insertion will be successful.
|
635
|
-
//!
|
636
|
-
//! If the check is successful, the user can construct the value_type and use
|
637
|
-
//! "insert_commit" to insert the object in constant-time. This gives a total
|
638
|
-
//! logarithmic complexity to the insertion: check(O(log(N)) + commit(O(1)).
|
639
|
-
//!
|
640
|
-
//! "commit_data" remains valid for a subsequent "insert_commit" only if no more
|
641
|
-
//! objects are inserted or erased from the container.
|
642
|
-
template<class KeyType, class KeyValueCompare>
|
643
|
-
std::pair<iterator, bool> insert_unique_check
|
644
|
-
(const KeyType &key, KeyValueCompare key_value_comp, insert_commit_data &commit_data)
|
645
|
-
{
|
646
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
647
|
-
comp(key_value_comp, this);
|
648
|
-
std::pair<node_ptr, bool> ret =
|
649
|
-
(node_algorithms::insert_unique_check
|
650
|
-
(this->priv_header_ptr(), key, comp, commit_data));
|
651
|
-
return std::pair<iterator, bool>(iterator(ret.first, this), ret.second);
|
652
|
-
}
|
442
|
+
//! @copydoc ::boost::intrusive::bstree::remove_node
|
443
|
+
void remove_node(reference value);
|
653
444
|
|
654
|
-
|
655
|
-
//! the same strict weak ordering as value_compare. The difference is that
|
656
|
-
//! key_value_comp compares an arbitrary key with the contained values.
|
657
|
-
//!
|
658
|
-
//! <b>Effects</b>: Checks if a value can be inserted in the container, using
|
659
|
-
//! a user provided key instead of the value itself, using "hint"
|
660
|
-
//! as a hint to where it will be inserted.
|
661
|
-
//!
|
662
|
-
//! <b>Returns</b>: If there is an equivalent value
|
663
|
-
//! returns a pair containing an iterator to the already present value
|
664
|
-
//! and false. If the value can be inserted returns true in the returned
|
665
|
-
//! pair boolean and fills "commit_data" that is meant to be used with
|
666
|
-
//! the "insert_commit" function.
|
667
|
-
//!
|
668
|
-
//! <b>Complexity</b>: Logarithmic in general, but it's amortized
|
669
|
-
//! constant time if t is inserted immediately before hint.
|
670
|
-
//!
|
671
|
-
//! <b>Throws</b>: If the key_value_comp ordering function throws. Strong guarantee.
|
672
|
-
//!
|
673
|
-
//! <b>Notes</b>: This function is used to improve performance when constructing
|
674
|
-
//! a value_type is expensive: if there is an equivalent value
|
675
|
-
//! the constructed object must be discarded. Many times, the part of the
|
676
|
-
//! constructing that is used to impose the order is much cheaper to construct
|
677
|
-
//! than the value_type and this function offers the possibility to use that key
|
678
|
-
//! to check if the insertion will be successful.
|
679
|
-
//!
|
680
|
-
//! If the check is successful, the user can construct the value_type and use
|
681
|
-
//! "insert_commit" to insert the object in constant-time. This can give a total
|
682
|
-
//! constant-time complexity to the insertion: check(O(1)) + commit(O(1)).
|
683
|
-
//!
|
684
|
-
//! "commit_data" remains valid for a subsequent "insert_commit" only if no more
|
685
|
-
//! objects are inserted or erased from the container.
|
686
|
-
template<class KeyType, class KeyValueCompare>
|
687
|
-
std::pair<iterator, bool> insert_unique_check
|
688
|
-
(const_iterator hint, const KeyType &key
|
689
|
-
,KeyValueCompare key_value_comp, insert_commit_data &commit_data)
|
690
|
-
{
|
691
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
692
|
-
comp(key_value_comp, this);
|
693
|
-
std::pair<node_ptr, bool> ret =
|
694
|
-
node_algorithms::insert_unique_check
|
695
|
-
(this->priv_header_ptr(), hint.pointed_node(), key, comp, commit_data);
|
696
|
-
return std::pair<iterator, bool>(iterator(ret.first, this), ret.second);
|
697
|
-
}
|
445
|
+
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
698
446
|
|
699
|
-
//! <b>Requires</b>:
|
700
|
-
//! must have been obtained from a previous call to "insert_check".
|
701
|
-
//! No objects should have been inserted or erased from the container between
|
702
|
-
//! the "insert_check" that filled "commit_data" and the call to "insert_commit".
|
703
|
-
//!
|
704
|
-
//! <b>Effects</b>: Inserts the value in the avl_set using the information obtained
|
705
|
-
//! from the "commit_data" that a previous "insert_check" filled.
|
447
|
+
//! <b>Requires</b>: i must be a valid iterator of *this.
|
706
448
|
//!
|
707
|
-
//! <b>
|
449
|
+
//! <b>Effects</b>: Rearranges the container so that the element pointed by i
|
450
|
+
//! is placed as the root of the tree, improving future searches of this value.
|
708
451
|
//!
|
709
|
-
//! <b>Complexity</b>:
|
452
|
+
//! <b>Complexity</b>: Amortized logarithmic.
|
710
453
|
//!
|
711
454
|
//! <b>Throws</b>: Nothing.
|
712
|
-
|
713
|
-
|
714
|
-
//! previously executed to fill "commit_data". No value should be inserted or
|
715
|
-
//! erased between the "insert_check" and "insert_commit" calls.
|
716
|
-
iterator insert_unique_commit(reference value, const insert_commit_data &commit_data)
|
717
|
-
{
|
718
|
-
node_ptr to_insert(get_real_value_traits().to_node_ptr(value));
|
719
|
-
if(safemode_or_autounlink)
|
720
|
-
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(node_algorithms::unique(to_insert));
|
721
|
-
node_algorithms::insert_unique_commit
|
722
|
-
(this->priv_header_ptr(), to_insert, commit_data);
|
723
|
-
this->priv_size_traits().increment();
|
724
|
-
return iterator(to_insert, this);
|
725
|
-
}
|
455
|
+
void splay_up(iterator i)
|
456
|
+
{ return node_algorithms::splay_up(i.pointed_node(), tree_type::header_ptr()); }
|
726
457
|
|
727
|
-
//! <b>Effects</b>:
|
458
|
+
//! <b>Effects</b>: Rearranges the container so that if *this stores an element
|
459
|
+
//! with a key equivalent to value the element is placed as the root of the
|
460
|
+
//! tree. If the element is not present returns the last node compared with the key.
|
461
|
+
//! If the tree is empty, end() is returned.
|
728
462
|
//!
|
729
|
-
//! <b>Complexity</b>:
|
463
|
+
//! <b>Complexity</b>: Amortized logarithmic.
|
730
464
|
//!
|
731
|
-
//! <b>
|
465
|
+
//! <b>Returns</b>: An iterator to the new root of the tree, end() if the tree is empty.
|
732
466
|
//!
|
733
|
-
//! <b>
|
734
|
-
|
735
|
-
iterator
|
467
|
+
//! <b>Throws</b>: If the comparison functor throws.
|
468
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
469
|
+
iterator splay_down(const KeyType &key, KeyTypeKeyCompare comp)
|
736
470
|
{
|
737
|
-
|
738
|
-
|
739
|
-
node_ptr
|
740
|
-
|
741
|
-
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!node_algorithms::unique(to_erase));
|
742
|
-
node_algorithms::erase(this->priv_header_ptr(), to_erase);
|
743
|
-
this->priv_size_traits().decrement();
|
744
|
-
if(safemode_or_autounlink)
|
745
|
-
node_algorithms::init(to_erase);
|
746
|
-
return ret.unconst();
|
471
|
+
detail::key_nodeptr_comp<value_compare, value_traits>
|
472
|
+
key_node_comp(comp, &this->get_value_traits());
|
473
|
+
node_ptr r = node_algorithms::splay_down(tree_type::header_ptr(), key, key_node_comp);
|
474
|
+
return iterator(r, this->priv_value_traits_ptr());
|
747
475
|
}
|
748
476
|
|
749
|
-
//! <b>Effects</b>:
|
477
|
+
//! <b>Effects</b>: Rearranges the container so that if *this stores an element
|
478
|
+
//! with a key equivalent to value the element is placed as the root of the
|
479
|
+
//! tree.
|
750
480
|
//!
|
751
|
-
//! <b>Complexity</b>:
|
752
|
-
//! O(log(size() + N)), where N is the number of elements in the range.
|
481
|
+
//! <b>Complexity</b>: Amortized logarithmic.
|
753
482
|
//!
|
754
|
-
//! <b>
|
483
|
+
//! <b>Returns</b>: An iterator to the new root of the tree, end() if the tree is empty.
|
755
484
|
//!
|
756
|
-
//! <b>
|
757
|
-
|
758
|
-
|
759
|
-
{ size_type n; return private_erase(b, e, n); }
|
485
|
+
//! <b>Throws</b>: If the predicate throws.
|
486
|
+
iterator splay_down(const key_type &key)
|
487
|
+
{ return this->splay_down(key, this->key_comp()); }
|
760
488
|
|
761
|
-
|
762
|
-
//!
|
763
|
-
|
764
|
-
//!
|
765
|
-
//! <b>Complexity</b>: Amortized O(log(size() + N).
|
766
|
-
//!
|
767
|
-
//! <b>Throws</b>: Nothing.
|
768
|
-
//!
|
769
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
770
|
-
//! to the erased elements. No destructors are called.
|
771
|
-
size_type erase(const_reference value)
|
772
|
-
{ return this->erase(value, priv_comp()); }
|
489
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
490
|
+
//! @copydoc ::boost::intrusive::bstree::rebalance
|
491
|
+
void rebalance();
|
773
492
|
|
774
|
-
//!
|
775
|
-
|
776
|
-
//!
|
777
|
-
//! <b>Returns</b>: The number of erased elements.
|
778
|
-
//!
|
779
|
-
//! <b>Complexity</b>: Amortized O(log(size() + N).
|
780
|
-
//!
|
781
|
-
//! <b>Throws</b>: Nothing.
|
782
|
-
//!
|
783
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
784
|
-
//! to the erased elements. No destructors are called.
|
785
|
-
template<class KeyType, class KeyValueCompare>
|
786
|
-
size_type erase(const KeyType& key, KeyValueCompare comp
|
787
|
-
/// @cond
|
788
|
-
, typename detail::enable_if_c<!detail::is_convertible<KeyValueCompare, const_iterator>::value >::type * = 0
|
789
|
-
/// @endcond
|
790
|
-
)
|
791
|
-
{
|
792
|
-
std::pair<iterator,iterator> p = this->equal_range(key, comp);
|
793
|
-
size_type n;
|
794
|
-
private_erase(p.first, p.second, n);
|
795
|
-
return n;
|
796
|
-
}
|
493
|
+
//! @copydoc ::boost::intrusive::bstree::rebalance_subtree
|
494
|
+
iterator rebalance_subtree(iterator root);
|
797
495
|
|
798
|
-
|
799
|
-
//!
|
800
|
-
//! <b>Effects</b>: Erases the element pointed to by pos.
|
801
|
-
//! Disposer::operator()(pointer) is called for the removed element.
|
802
|
-
//!
|
803
|
-
//! <b>Complexity</b>: Average complexity for erase element is constant time.
|
804
|
-
//!
|
805
|
-
//! <b>Throws</b>: Nothing.
|
806
|
-
//!
|
807
|
-
//! <b>Note</b>: Invalidates the iterators
|
808
|
-
//! to the erased elements.
|
809
|
-
template<class Disposer>
|
810
|
-
iterator erase_and_dispose(const_iterator i, Disposer disposer)
|
811
|
-
{
|
812
|
-
node_ptr to_erase(i.pointed_node());
|
813
|
-
iterator ret(this->erase(i));
|
814
|
-
disposer(get_real_value_traits().to_value_ptr(to_erase));
|
815
|
-
return ret;
|
816
|
-
}
|
496
|
+
friend bool operator< (const splaytree_impl &x, const splaytree_impl &y);
|
817
497
|
|
818
|
-
|
819
|
-
template<class Disposer>
|
820
|
-
iterator erase_and_dispose(iterator i, Disposer disposer)
|
821
|
-
{ return this->erase_and_dispose(const_iterator(i), disposer); }
|
822
|
-
#endif
|
498
|
+
friend bool operator==(const splaytree_impl &x, const splaytree_impl &y);
|
823
499
|
|
824
|
-
|
825
|
-
//!
|
826
|
-
//! <b>Effects</b>: Erases the range pointed to by b end e.
|
827
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
828
|
-
//!
|
829
|
-
//! <b>Complexity</b>: Average complexity for erase range is amortized
|
830
|
-
//! O(log(size() + N)), where N is the number of elements in the range.
|
831
|
-
//!
|
832
|
-
//! <b>Throws</b>: Nothing.
|
833
|
-
//!
|
834
|
-
//! <b>Note</b>: Invalidates the iterators
|
835
|
-
//! to the erased elements.
|
836
|
-
template<class Disposer>
|
837
|
-
iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer)
|
838
|
-
{ size_type n; return private_erase(b, e, n, disposer); }
|
500
|
+
friend bool operator!= (const splaytree_impl &x, const splaytree_impl &y);
|
839
501
|
|
840
|
-
|
841
|
-
//!
|
842
|
-
//! <b>Effects</b>: Erases all the elements with the given value.
|
843
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
844
|
-
//!
|
845
|
-
//! <b>Returns</b>: The number of erased elements.
|
846
|
-
//!
|
847
|
-
//! <b>Complexity</b>: Amortized O(log(size() + N).
|
848
|
-
//!
|
849
|
-
//! <b>Throws</b>: Nothing.
|
850
|
-
//!
|
851
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
852
|
-
//! to the erased elements. No destructors are called.
|
853
|
-
template<class Disposer>
|
854
|
-
size_type erase_and_dispose(const_reference value, Disposer disposer)
|
855
|
-
{
|
856
|
-
std::pair<iterator,iterator> p = this->equal_range(value);
|
857
|
-
size_type n;
|
858
|
-
private_erase(p.first, p.second, n, disposer);
|
859
|
-
return n;
|
860
|
-
}
|
861
|
-
|
862
|
-
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
863
|
-
//!
|
864
|
-
//! <b>Effects</b>: Erases all the elements with the given key.
|
865
|
-
//! according to the comparison functor "comp".
|
866
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
867
|
-
//!
|
868
|
-
//! <b>Returns</b>: The number of erased elements.
|
869
|
-
//!
|
870
|
-
//! <b>Complexity</b>: Amortized O(log(size() + N).
|
871
|
-
//!
|
872
|
-
//! <b>Throws</b>: Nothing.
|
873
|
-
//!
|
874
|
-
//! <b>Note</b>: Invalidates the iterators
|
875
|
-
//! to the erased elements.
|
876
|
-
template<class KeyType, class KeyValueCompare, class Disposer>
|
877
|
-
size_type erase_and_dispose(const KeyType& key, KeyValueCompare comp, Disposer disposer
|
878
|
-
/// @cond
|
879
|
-
, typename detail::enable_if_c<!detail::is_convertible<KeyValueCompare, const_iterator>::value >::type * = 0
|
880
|
-
/// @endcond
|
881
|
-
)
|
882
|
-
{
|
883
|
-
std::pair<iterator,iterator> p = this->equal_range(key, comp);
|
884
|
-
size_type n;
|
885
|
-
private_erase(p.first, p.second, n, disposer);
|
886
|
-
return n;
|
887
|
-
}
|
888
|
-
|
889
|
-
//! <b>Effects</b>: Erases all of the elements.
|
890
|
-
//!
|
891
|
-
//! <b>Complexity</b>: Linear to the number of elements on the container.
|
892
|
-
//! if it's a safe-mode or auto-unlink value_type. Constant time otherwise.
|
893
|
-
//!
|
894
|
-
//! <b>Throws</b>: Nothing.
|
895
|
-
//!
|
896
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
897
|
-
//! to the erased elements. No destructors are called.
|
898
|
-
void clear()
|
899
|
-
{
|
900
|
-
if(safemode_or_autounlink){
|
901
|
-
this->clear_and_dispose(detail::null_disposer());
|
902
|
-
}
|
903
|
-
else{
|
904
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
905
|
-
this->priv_size_traits().set_size(0);
|
906
|
-
}
|
907
|
-
}
|
908
|
-
|
909
|
-
//! <b>Effects</b>: Erases all of the elements calling disposer(p) for
|
910
|
-
//! each node to be erased.
|
911
|
-
//! <b>Complexity</b>: Amortized O(log(size() + N)),
|
912
|
-
//! where N is the number of elements in the container.
|
913
|
-
//!
|
914
|
-
//! <b>Throws</b>: Nothing.
|
915
|
-
//!
|
916
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
917
|
-
//! to the erased elements. Calls N times to disposer functor.
|
918
|
-
template<class Disposer>
|
919
|
-
void clear_and_dispose(Disposer disposer)
|
920
|
-
{
|
921
|
-
node_algorithms::clear_and_dispose(this->priv_header_ptr()
|
922
|
-
, detail::node_disposer<Disposer, splaytree_impl>(disposer, this));
|
923
|
-
this->priv_size_traits().set_size(0);
|
924
|
-
}
|
925
|
-
|
926
|
-
//! <b>Effects</b>: Returns the number of contained elements with the given value
|
927
|
-
//!
|
928
|
-
//! <b>Complexity</b>: Amortized logarithmic to the number of elements contained plus lineal
|
929
|
-
//! to number of objects with the given value.
|
930
|
-
//!
|
931
|
-
//! <b>Throws</b>: Nothing.
|
932
|
-
size_type count(const_reference value)
|
933
|
-
{ return this->count(value, priv_comp()); }
|
934
|
-
|
935
|
-
//! <b>Effects</b>: Returns the number of contained elements with the given key
|
936
|
-
//!
|
937
|
-
//! <b>Complexity</b>: Amortized logarithmic to the number of elements contained plus lineal
|
938
|
-
//! to number of objects with the given key.
|
939
|
-
//!
|
940
|
-
//! <b>Throws</b>: Nothing.
|
941
|
-
template<class KeyType, class KeyValueCompare>
|
942
|
-
size_type count(const KeyType &key, KeyValueCompare comp)
|
943
|
-
{
|
944
|
-
std::pair<const_iterator, const_iterator> ret = this->equal_range(key, comp);
|
945
|
-
return std::distance(ret.first, ret.second);
|
946
|
-
}
|
502
|
+
friend bool operator>(const splaytree_impl &x, const splaytree_impl &y);
|
947
503
|
|
948
|
-
|
949
|
-
//!
|
950
|
-
//! <b>Complexity</b>: Amortized logarithmic to the number of elements contained plus lineal
|
951
|
-
//! to number of objects with the given value.
|
952
|
-
//!
|
953
|
-
//! <b>Throws</b>: Nothing.
|
954
|
-
size_type count_dont_splay(const_reference value) const
|
955
|
-
{ return this->count_dont_splay(value, priv_comp()); }
|
504
|
+
friend bool operator<=(const splaytree_impl &x, const splaytree_impl &y);
|
956
505
|
|
957
|
-
|
958
|
-
//!
|
959
|
-
//! <b>Complexity</b>: Amortized logarithmic to the number of elements contained plus lineal
|
960
|
-
//! to number of objects with the given key.
|
961
|
-
//!
|
962
|
-
//! <b>Throws</b>: Nothing.
|
963
|
-
template<class KeyType, class KeyValueCompare>
|
964
|
-
size_type count_dont_splay(const KeyType &key, KeyValueCompare comp) const
|
965
|
-
{
|
966
|
-
std::pair<const_iterator, const_iterator> ret = this->equal_range_dont_splay(key, comp);
|
967
|
-
return std::distance(ret.first, ret.second);
|
968
|
-
}
|
506
|
+
friend bool operator>=(const splaytree_impl &x, const splaytree_impl &y);
|
969
507
|
|
970
|
-
|
971
|
-
//! key is not less than k or end() if that element does not exist.
|
972
|
-
//!
|
973
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
974
|
-
//!
|
975
|
-
//! <b>Throws</b>: Nothing.
|
976
|
-
iterator lower_bound(const_reference value)
|
977
|
-
{ return this->lower_bound(value, priv_comp()); }
|
978
|
-
|
979
|
-
//! <b>Effects</b>: Returns an iterator to the first element whose
|
980
|
-
//! key is not less than k or end() if that element does not exist.
|
981
|
-
//!
|
982
|
-
//! <b>Complexity</b>: Logarithmic.
|
983
|
-
//!
|
984
|
-
//! <b>Throws</b>: Nothing.
|
985
|
-
const_iterator lower_bound_dont_splay(const_reference value) const
|
986
|
-
{ return this->lower_bound_dont_splay(value, priv_comp()); }
|
987
|
-
|
988
|
-
//! <b>Effects</b>: Returns an iterator to the first element whose
|
989
|
-
//! key is not less than k or end() if that element does not exist.
|
990
|
-
//!
|
991
|
-
//! <b>Complexity</b>: Logarithmic.
|
992
|
-
//!
|
993
|
-
//! <b>Throws</b>: Nothing.
|
994
|
-
template<class KeyType, class KeyValueCompare>
|
995
|
-
iterator lower_bound(const KeyType &key, KeyValueCompare comp)
|
996
|
-
{
|
997
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
998
|
-
key_node_comp(comp, this);
|
999
|
-
return iterator(node_algorithms::lower_bound
|
1000
|
-
(this->priv_header_ptr(), key, key_node_comp), this);
|
1001
|
-
}
|
1002
|
-
|
1003
|
-
//! <b>Effects</b>: Returns a const iterator to the first element whose
|
1004
|
-
//! key is not less than k or end() if that element does not exist.
|
1005
|
-
//!
|
1006
|
-
//! <b>Complexity</b>: Logarithmic.
|
1007
|
-
//!
|
1008
|
-
//! <b>Throws</b>: Nothing.
|
1009
|
-
template<class KeyType, class KeyValueCompare>
|
1010
|
-
const_iterator lower_bound_dont_splay(const KeyType &key, KeyValueCompare comp) const
|
1011
|
-
{
|
1012
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1013
|
-
key_node_comp(comp, this);
|
1014
|
-
return const_iterator(node_algorithms::lower_bound
|
1015
|
-
(this->priv_header_ptr(), key, key_node_comp, false), this);
|
1016
|
-
}
|
1017
|
-
|
1018
|
-
//! <b>Effects</b>: Returns an iterator to the first element whose
|
1019
|
-
//! key is greater than k or end() if that element does not exist.
|
1020
|
-
//!
|
1021
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1022
|
-
//!
|
1023
|
-
//! <b>Throws</b>: Nothing.
|
1024
|
-
iterator upper_bound(const_reference value)
|
1025
|
-
{ return this->upper_bound(value, priv_comp()); }
|
1026
|
-
|
1027
|
-
//! <b>Effects</b>: Returns an iterator to the first element whose
|
1028
|
-
//! key is greater than k according to comp or end() if that element
|
1029
|
-
//! does not exist.
|
1030
|
-
//!
|
1031
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1032
|
-
//!
|
1033
|
-
//! <b>Throws</b>: Nothing.
|
1034
|
-
template<class KeyType, class KeyValueCompare>
|
1035
|
-
iterator upper_bound(const KeyType &key, KeyValueCompare comp)
|
1036
|
-
{
|
1037
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1038
|
-
key_node_comp(comp, this);
|
1039
|
-
return iterator(node_algorithms::upper_bound
|
1040
|
-
(this->priv_header_ptr(), key, key_node_comp), this);
|
1041
|
-
}
|
1042
|
-
|
1043
|
-
//! <b>Effects</b>: Returns an iterator to the first element whose
|
1044
|
-
//! key is greater than k or end() if that element does not exist.
|
1045
|
-
//!
|
1046
|
-
//! <b>Complexity</b>: Logarithmic.
|
1047
|
-
//!
|
1048
|
-
//! <b>Throws</b>: Nothing.
|
1049
|
-
const_iterator upper_bound_dont_splay(const_reference value) const
|
1050
|
-
{ return this->upper_bound_dont_splay(value, priv_comp()); }
|
1051
|
-
|
1052
|
-
//! <b>Effects</b>: Returns an iterator to the first element whose
|
1053
|
-
//! key is greater than k according to comp or end() if that element
|
1054
|
-
//! does not exist.
|
1055
|
-
//!
|
1056
|
-
//! <b>Complexity</b>: Logarithmic.
|
1057
|
-
//!
|
1058
|
-
//! <b>Throws</b>: Nothing.
|
1059
|
-
template<class KeyType, class KeyValueCompare>
|
1060
|
-
const_iterator upper_bound_dont_splay(const KeyType &key, KeyValueCompare comp) const
|
1061
|
-
{
|
1062
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1063
|
-
key_node_comp(comp, this);
|
1064
|
-
return const_iterator(node_algorithms::upper_bound_dont_splay
|
1065
|
-
(this->priv_header_ptr(), key, key_node_comp, false), this);
|
1066
|
-
}
|
1067
|
-
|
1068
|
-
//! <b>Effects</b>: Finds an iterator to the first element whose key is
|
1069
|
-
//! k or end() if that element does not exist.
|
1070
|
-
//!
|
1071
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1072
|
-
//!
|
1073
|
-
//! <b>Throws</b>: Nothing.
|
1074
|
-
iterator find(const_reference value)
|
1075
|
-
{ return this->find(value, priv_comp()); }
|
508
|
+
friend void swap(splaytree_impl &x, splaytree_impl &y);
|
1076
509
|
|
1077
|
-
|
1078
|
-
//! k or end() if that element does not exist.
|
1079
|
-
//!
|
1080
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1081
|
-
//!
|
1082
|
-
//! <b>Throws</b>: Nothing.
|
1083
|
-
template<class KeyType, class KeyValueCompare>
|
1084
|
-
iterator find(const KeyType &key, KeyValueCompare comp)
|
1085
|
-
{
|
1086
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1087
|
-
key_node_comp(comp, this);
|
1088
|
-
return iterator
|
1089
|
-
(node_algorithms::find(this->priv_header_ptr(), key, key_node_comp), this);
|
1090
|
-
}
|
1091
|
-
|
1092
|
-
//! <b>Effects</b>: Finds a const_iterator to the first element whose key is
|
1093
|
-
//! k or end() if that element does not exist.
|
1094
|
-
//!
|
1095
|
-
//! <b>Complexity</b>: Logarithmic.
|
1096
|
-
//!
|
1097
|
-
//! <b>Throws</b>: Nothing.
|
1098
|
-
const_iterator find_dont_splay(const_reference value) const
|
1099
|
-
{ return this->find_dont_splay(value, priv_comp()); }
|
1100
|
-
|
1101
|
-
//! <b>Effects</b>: Finds a const_iterator to the first element whose key is
|
1102
|
-
//! k or end() if that element does not exist.
|
1103
|
-
//!
|
1104
|
-
//! <b>Complexity</b>: Logarithmic.
|
1105
|
-
//!
|
1106
|
-
//! <b>Throws</b>: Nothing.
|
1107
|
-
template<class KeyType, class KeyValueCompare>
|
1108
|
-
const_iterator find_dont_splay(const KeyType &key, KeyValueCompare comp) const
|
1109
|
-
{
|
1110
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1111
|
-
key_node_comp(comp, this);
|
1112
|
-
return const_iterator
|
1113
|
-
(node_algorithms::find(this->priv_header_ptr(), key, key_node_comp, false), this);
|
1114
|
-
}
|
1115
|
-
|
1116
|
-
//! <b>Effects</b>: Finds a range containing all elements whose key is k or
|
1117
|
-
//! an empty range that indicates the position where those elements would be
|
1118
|
-
//! if they there is no elements with key k.
|
1119
|
-
//!
|
1120
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1121
|
-
//!
|
1122
|
-
//! <b>Throws</b>: Nothing.
|
1123
|
-
std::pair<iterator,iterator> equal_range(const_reference value)
|
1124
|
-
{ return this->equal_range(value, priv_comp()); }
|
1125
|
-
|
1126
|
-
//! <b>Effects</b>: Finds a range containing all elements whose key is k or
|
1127
|
-
//! an empty range that indicates the position where those elements would be
|
1128
|
-
//! if they there is no elements with key k.
|
1129
|
-
//!
|
1130
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1131
|
-
//!
|
1132
|
-
//! <b>Throws</b>: Nothing.
|
1133
|
-
template<class KeyType, class KeyValueCompare>
|
1134
|
-
std::pair<iterator,iterator> equal_range(const KeyType &key, KeyValueCompare comp)
|
1135
|
-
{
|
1136
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1137
|
-
key_node_comp(comp, this);
|
1138
|
-
std::pair<node_ptr, node_ptr> ret
|
1139
|
-
(node_algorithms::equal_range(this->priv_header_ptr(), key, key_node_comp));
|
1140
|
-
return std::pair<iterator, iterator>(iterator(ret.first, this), iterator(ret.second, this));
|
1141
|
-
}
|
1142
|
-
|
1143
|
-
//! <b>Effects</b>: Finds a range containing all elements whose key is k or
|
1144
|
-
//! an empty range that indicates the position where those elements would be
|
1145
|
-
//! if they there is no elements with key k.
|
1146
|
-
//!
|
1147
|
-
//! <b>Complexity</b>: Logarithmic.
|
1148
|
-
//!
|
1149
|
-
//! <b>Throws</b>: Nothing.
|
1150
|
-
std::pair<const_iterator, const_iterator>
|
1151
|
-
equal_range_dont_splay(const_reference value) const
|
1152
|
-
{ return this->equal_range_dont_splay(value, priv_comp()); }
|
1153
|
-
|
1154
|
-
//! <b>Effects</b>: Finds a range containing all elements whose key is k or
|
1155
|
-
//! an empty range that indicates the position where those elements would be
|
1156
|
-
//! if they there is no elements with key k.
|
1157
|
-
//!
|
1158
|
-
//! <b>Complexity</b>: Logarithmic.
|
1159
|
-
//!
|
1160
|
-
//! <b>Throws</b>: Nothing.
|
1161
|
-
template<class KeyType, class KeyValueCompare>
|
1162
|
-
std::pair<const_iterator, const_iterator>
|
1163
|
-
equal_range_dont_splay(const KeyType &key, KeyValueCompare comp) const
|
1164
|
-
{
|
1165
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1166
|
-
key_node_comp(comp, this);
|
1167
|
-
std::pair<node_ptr, node_ptr> ret
|
1168
|
-
(node_algorithms::equal_range(this->priv_header_ptr(), key, key_node_comp, false));
|
1169
|
-
return std::pair<const_iterator, const_iterator>(const_iterator(ret.first, this), const_iterator(ret.second, this));
|
1170
|
-
}
|
1171
|
-
|
1172
|
-
//! <b>Requires</b>: 'lower_value' must not be greater than 'upper_value'. If
|
1173
|
-
//! 'lower_value' == 'upper_value', ('left_closed' || 'right_closed') must be false.
|
1174
|
-
//!
|
1175
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1176
|
-
//!
|
1177
|
-
//! first = lower_bound(lower_key) if left_closed, upper_bound(lower_key) otherwise
|
1178
|
-
//!
|
1179
|
-
//! second = upper_bound(upper_key) if right_closed, lower_bound(upper_key) otherwise
|
1180
|
-
//!
|
1181
|
-
//! <b>Complexity</b>: Logarithmic.
|
1182
|
-
//!
|
1183
|
-
//! <b>Throws</b>: If the predicate throws.
|
1184
|
-
//!
|
1185
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1186
|
-
//! and lower_bound for lower_value and upper_value.
|
1187
|
-
std::pair<iterator,iterator> bounded_range
|
1188
|
-
(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed)
|
1189
|
-
{ return this->bounded_range(lower_value, upper_value, priv_comp(), left_closed, right_closed); }
|
1190
|
-
|
1191
|
-
//! <b>Requires</b>: KeyValueCompare is a function object that induces a strict weak
|
1192
|
-
//! ordering compatible with the strict weak ordering used to create the
|
1193
|
-
//! the tree.
|
1194
|
-
//! 'lower_key' must not be greater than 'upper_key' according to 'comp'. If
|
1195
|
-
//! 'lower_key' == 'upper_key', ('left_closed' || 'right_closed') must be false.
|
1196
|
-
//!
|
1197
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1198
|
-
//!
|
1199
|
-
//! first = lower_bound(lower_key, comp) if left_closed, upper_bound(lower_key, comp) otherwise
|
1200
|
-
//!
|
1201
|
-
//! second = upper_bound(upper_key, comp) if right_closed, lower_bound(upper_key, comp) otherwise
|
1202
|
-
//!
|
1203
|
-
//! <b>Complexity</b>: Logarithmic.
|
1204
|
-
//!
|
1205
|
-
//! <b>Throws</b>: If "comp" throws.
|
1206
|
-
//!
|
1207
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1208
|
-
//! and lower_bound for lower_key and upper_key.
|
1209
|
-
template<class KeyType, class KeyValueCompare>
|
1210
|
-
std::pair<iterator,iterator> bounded_range
|
1211
|
-
(const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed)
|
1212
|
-
{
|
1213
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1214
|
-
key_node_comp(comp, this);
|
1215
|
-
std::pair<node_ptr, node_ptr> ret
|
1216
|
-
(node_algorithms::bounded_range
|
1217
|
-
(this->priv_header_ptr(), lower_key, upper_key, key_node_comp, left_closed, right_closed));
|
1218
|
-
return std::pair<iterator, iterator>(iterator(ret.first, this), iterator(ret.second, this));
|
1219
|
-
}
|
1220
|
-
|
1221
|
-
//! <b>Requires</b>: 'lower_value' must not be greater than 'upper_value'. If
|
1222
|
-
//! 'lower_value' == 'upper_value', ('left_closed' || 'right_closed') must be false.
|
1223
|
-
//!
|
1224
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1225
|
-
//!
|
1226
|
-
//! first = lower_bound(lower_key) if left_closed, upper_bound(lower_key) otherwise
|
1227
|
-
//!
|
1228
|
-
//! second = upper_bound(upper_key) if right_closed, lower_bound(upper_key) otherwise
|
1229
|
-
//!
|
1230
|
-
//! <b>Complexity</b>: Logarithmic.
|
1231
|
-
//!
|
1232
|
-
//! <b>Throws</b>: If the predicate throws.
|
1233
|
-
//!
|
1234
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1235
|
-
//! and lower_bound for lower_value and upper_value.
|
1236
|
-
std::pair<const_iterator,const_iterator> bounded_range
|
1237
|
-
(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const
|
1238
|
-
{ return this->bounded_range_dont_splay(lower_value, upper_value, priv_comp(), left_closed, right_closed); }
|
1239
|
-
|
1240
|
-
//! <b>Requires</b>: KeyValueCompare is a function object that induces a strict weak
|
1241
|
-
//! ordering compatible with the strict weak ordering used to create the
|
1242
|
-
//! the tree.
|
1243
|
-
//! 'lower_key' must not be greater than 'upper_key' according to 'comp'. If
|
1244
|
-
//! 'lower_key' == 'upper_key', ('left_closed' || 'right_closed') must be false.
|
1245
|
-
//!
|
1246
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1247
|
-
//!
|
1248
|
-
//! first = lower_bound(lower_key, comp) if left_closed, upper_bound(lower_key, comp) otherwise
|
1249
|
-
//!
|
1250
|
-
//! second = upper_bound(upper_key, comp) if right_closed, lower_bound(upper_key, comp) otherwise
|
1251
|
-
//!
|
1252
|
-
//! <b>Complexity</b>: Logarithmic.
|
1253
|
-
//!
|
1254
|
-
//! <b>Throws</b>: If "comp" throws.
|
1255
|
-
//!
|
1256
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1257
|
-
//! and lower_bound for lower_key and upper_key.
|
1258
|
-
template<class KeyType, class KeyValueCompare>
|
1259
|
-
std::pair<const_iterator,const_iterator> bounded_range
|
1260
|
-
(const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const
|
1261
|
-
{
|
1262
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1263
|
-
key_node_comp(comp, this);
|
1264
|
-
std::pair<node_ptr, node_ptr> ret
|
1265
|
-
(node_algorithms::bounded_range
|
1266
|
-
(this->priv_header_ptr(), lower_key, upper_key, key_node_comp, left_closed, right_closed, false));
|
1267
|
-
return std::pair<const_iterator, const_iterator>(const_iterator(ret.first, this), const_iterator(ret.second, this));
|
1268
|
-
}
|
1269
|
-
|
1270
|
-
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
1271
|
-
//! Cloner should yield to nodes equivalent to the original nodes.
|
1272
|
-
//!
|
1273
|
-
//! <b>Effects</b>: Erases all the elements from *this
|
1274
|
-
//! calling Disposer::operator()(pointer), clones all the
|
1275
|
-
//! elements from src calling Cloner::operator()(const_reference )
|
1276
|
-
//! and inserts them on *this. Copies the predicate from the source container.
|
1277
|
-
//!
|
1278
|
-
//! If cloner throws, all cloned elements are unlinked and disposed
|
1279
|
-
//! calling Disposer::operator()(pointer).
|
1280
|
-
//!
|
1281
|
-
//! <b>Complexity</b>: Linear to erased plus inserted elements.
|
1282
|
-
//!
|
1283
|
-
//! <b>Throws</b>: If cloner throws or predicate copy assignment throws. Basic guarantee.
|
1284
|
-
template <class Cloner, class Disposer>
|
1285
|
-
void clone_from(const splaytree_impl &src, Cloner cloner, Disposer disposer)
|
1286
|
-
{
|
1287
|
-
this->clear_and_dispose(disposer);
|
1288
|
-
if(!src.empty()){
|
1289
|
-
detail::exception_disposer<splaytree_impl, Disposer>
|
1290
|
-
rollback(*this, disposer);
|
1291
|
-
node_algorithms::clone
|
1292
|
-
(src.priv_header_ptr()
|
1293
|
-
,this->priv_header_ptr()
|
1294
|
-
,detail::node_cloner<Cloner, splaytree_impl>(cloner, this)
|
1295
|
-
,detail::node_disposer<Disposer, splaytree_impl>(disposer, this));
|
1296
|
-
this->priv_size_traits().set_size(src.priv_size_traits().get_size());
|
1297
|
-
this->priv_comp() = src.priv_comp();
|
1298
|
-
rollback.release();
|
1299
|
-
}
|
1300
|
-
}
|
1301
|
-
|
1302
|
-
//! <b>Effects</b>: Unlinks the leftmost node from the tree.
|
1303
|
-
//!
|
1304
|
-
//! <b>Complexity</b>: Average complexity is constant time.
|
1305
|
-
//!
|
1306
|
-
//! <b>Throws</b>: Nothing.
|
1307
|
-
//!
|
1308
|
-
//! <b>Notes</b>: This function breaks the tree and the tree can
|
1309
|
-
//! only be used for more unlink_leftmost_without_rebalance calls.
|
1310
|
-
//! This function is normally used to achieve a step by step
|
1311
|
-
//! controlled destruction of the tree.
|
1312
|
-
pointer unlink_leftmost_without_rebalance()
|
1313
|
-
{
|
1314
|
-
node_ptr to_be_disposed(node_algorithms::unlink_leftmost_without_rebalance
|
1315
|
-
(this->priv_header_ptr()));
|
1316
|
-
if(!to_be_disposed)
|
1317
|
-
return 0;
|
1318
|
-
this->priv_size_traits().decrement();
|
1319
|
-
if(safemode_or_autounlink)//If this is commented does not work with normal_link
|
1320
|
-
node_algorithms::init(to_be_disposed);
|
1321
|
-
return get_real_value_traits().to_value_ptr(to_be_disposed);
|
1322
|
-
}
|
1323
|
-
|
1324
|
-
//! <b>Requires</b>: i must be a valid iterator of *this.
|
1325
|
-
//!
|
1326
|
-
//! <b>Effects</b>: Rearranges the splay set so that the element pointed by i
|
1327
|
-
//! is placed as the root of the tree, improving future searches of this value.
|
1328
|
-
//!
|
1329
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1330
|
-
//!
|
1331
|
-
//! <b>Throws</b>: Nothing.
|
1332
|
-
void splay_up(iterator i)
|
1333
|
-
{ return node_algorithms::splay_up(i.pointed_node(), this->priv_header_ptr()); }
|
1334
|
-
|
1335
|
-
//! <b>Effects</b>: Rearranges the splay set so that if *this stores an element
|
1336
|
-
//! with a key equivalent to value the element is placed as the root of the
|
1337
|
-
//! tree. If the element is not present returns the last node compared with the key.
|
1338
|
-
//! If the tree is empty, end() is returned.
|
1339
|
-
//!
|
1340
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1341
|
-
//!
|
1342
|
-
//! <b>Returns</b>: An iterator to the new root of the tree, end() if the tree is empty.
|
1343
|
-
//!
|
1344
|
-
//! <b>Throws</b>: If the comparison functor throws.
|
1345
|
-
template<class KeyType, class KeyValueCompare>
|
1346
|
-
iterator splay_down(const KeyType &key, KeyValueCompare comp)
|
1347
|
-
{
|
1348
|
-
detail::key_nodeptr_comp<KeyValueCompare, splaytree_impl>
|
1349
|
-
key_node_comp(comp, this);
|
1350
|
-
node_ptr r = node_algorithms::splay_down(this->priv_header_ptr(), key, key_node_comp);
|
1351
|
-
return iterator(r, this);
|
1352
|
-
}
|
1353
|
-
|
1354
|
-
//! <b>Effects</b>: Rearranges the splay set so that if *this stores an element
|
1355
|
-
//! with a key equivalent to value the element is placed as the root of the
|
1356
|
-
//! tree.
|
1357
|
-
//!
|
1358
|
-
//! <b>Complexity</b>: Amortized logarithmic.
|
1359
|
-
//!
|
1360
|
-
//! <b>Returns</b>: An iterator to the new root of the tree, end() if the tree is empty.
|
1361
|
-
//!
|
1362
|
-
//! <b>Throws</b>: If the predicate throws.
|
1363
|
-
iterator splay_down(const value_type &value)
|
1364
|
-
{ return this->splay_down(value, priv_comp()); }
|
1365
|
-
|
1366
|
-
//! <b>Requires</b>: replace_this must be a valid iterator of *this
|
1367
|
-
//! and with_this must not be inserted in any tree.
|
1368
|
-
//!
|
1369
|
-
//! <b>Effects</b>: Replaces replace_this in its position in the
|
1370
|
-
//! tree with with_this. The tree does not need to be rebalanced.
|
1371
|
-
//!
|
1372
|
-
//! <b>Complexity</b>: Constant.
|
1373
|
-
//!
|
1374
|
-
//! <b>Throws</b>: Nothing.
|
1375
|
-
//!
|
1376
|
-
//! <b>Note</b>: This function will break container ordering invariants if
|
1377
|
-
//! with_this is not equivalent to *replace_this according to the
|
1378
|
-
//! ordering rules. This function is faster than erasing and inserting
|
1379
|
-
//! the node, since no rebalancing or comparison is needed.
|
1380
|
-
void replace_node(iterator replace_this, reference with_this)
|
1381
|
-
{
|
1382
|
-
node_algorithms::replace_node( get_real_value_traits().to_node_ptr(*replace_this)
|
1383
|
-
, this->priv_header_ptr()
|
1384
|
-
, get_real_value_traits().to_node_ptr(with_this));
|
1385
|
-
if(safemode_or_autounlink)
|
1386
|
-
node_algorithms::init(replace_this.pointed_node());
|
1387
|
-
}
|
1388
|
-
|
1389
|
-
//! <b>Requires</b>: value must be an lvalue and shall be in a set of
|
1390
|
-
//! appropriate type. Otherwise the behavior is undefined.
|
1391
|
-
//!
|
1392
|
-
//! <b>Effects</b>: Returns: a valid iterator i belonging to the set
|
1393
|
-
//! that points to the value
|
1394
|
-
//!
|
1395
|
-
//! <b>Complexity</b>: Constant.
|
1396
|
-
//!
|
1397
|
-
//! <b>Throws</b>: Nothing.
|
1398
|
-
//!
|
1399
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
1400
|
-
//! is stateless.
|
1401
|
-
static iterator s_iterator_to(reference value)
|
1402
|
-
{
|
1403
|
-
BOOST_STATIC_ASSERT((!stateful_value_traits));
|
1404
|
-
return iterator (value_traits::to_node_ptr(value), 0);
|
1405
|
-
}
|
1406
|
-
|
1407
|
-
//! <b>Requires</b>: value must be an lvalue and shall be in a set of
|
1408
|
-
//! appropriate type. Otherwise the behavior is undefined.
|
1409
|
-
//!
|
1410
|
-
//! <b>Effects</b>: Returns: a valid const_iterator i belonging to the
|
1411
|
-
//! set that points to the value
|
1412
|
-
//!
|
1413
|
-
//! <b>Complexity</b>: Constant.
|
1414
|
-
//!
|
1415
|
-
//! <b>Throws</b>: Nothing.
|
1416
|
-
//!
|
1417
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
1418
|
-
//! is stateless.
|
1419
|
-
static const_iterator s_iterator_to(const_reference value)
|
1420
|
-
{
|
1421
|
-
BOOST_STATIC_ASSERT((!stateful_value_traits));
|
1422
|
-
return const_iterator (value_traits::to_node_ptr(const_cast<reference> (value)), 0);
|
1423
|
-
}
|
1424
|
-
|
1425
|
-
//! <b>Requires</b>: value must be an lvalue and shall be in a set of
|
1426
|
-
//! appropriate type. Otherwise the behavior is undefined.
|
1427
|
-
//!
|
1428
|
-
//! <b>Effects</b>: Returns: a valid iterator i belonging to the set
|
1429
|
-
//! that points to the value
|
1430
|
-
//!
|
1431
|
-
//! <b>Complexity</b>: Constant.
|
1432
|
-
//!
|
1433
|
-
//! <b>Throws</b>: Nothing.
|
1434
|
-
iterator iterator_to(reference value)
|
1435
|
-
{ return iterator (value_traits::to_node_ptr(value), this); }
|
1436
|
-
|
1437
|
-
//! <b>Requires</b>: value must be an lvalue and shall be in a set of
|
1438
|
-
//! appropriate type. Otherwise the behavior is undefined.
|
1439
|
-
//!
|
1440
|
-
//! <b>Effects</b>: Returns: a valid const_iterator i belonging to the
|
1441
|
-
//! set that points to the value
|
1442
|
-
//!
|
1443
|
-
//! <b>Complexity</b>: Constant.
|
1444
|
-
//!
|
1445
|
-
//! <b>Throws</b>: Nothing.
|
1446
|
-
const_iterator iterator_to(const_reference value) const
|
1447
|
-
{ return const_iterator (value_traits::to_node_ptr(const_cast<reference> (value)), this); }
|
1448
|
-
|
1449
|
-
//! <b>Requires</b>: value shall not be in a tree.
|
1450
|
-
//!
|
1451
|
-
//! <b>Effects</b>: init_node puts the hook of a value in a well-known default
|
1452
|
-
//! state.
|
1453
|
-
//!
|
1454
|
-
//! <b>Throws</b>: Nothing.
|
1455
|
-
//!
|
1456
|
-
//! <b>Complexity</b>: Constant time.
|
1457
|
-
//!
|
1458
|
-
//! <b>Note</b>: This function puts the hook in the well-known default state
|
1459
|
-
//! used by auto_unlink and safe hooks.
|
1460
|
-
static void init_node(reference value)
|
1461
|
-
{ node_algorithms::init(value_traits::to_node_ptr(value)); }
|
1462
|
-
|
1463
|
-
//! <b>Effects</b>: Rebalances the tree.
|
1464
|
-
//!
|
1465
|
-
//! <b>Throws</b>: Nothing.
|
1466
|
-
//!
|
1467
|
-
//! <b>Complexity</b>: Linear.
|
1468
|
-
void rebalance()
|
1469
|
-
{ node_algorithms::rebalance(this->priv_header_ptr()); }
|
1470
|
-
|
1471
|
-
//! <b>Requires</b>: old_root is a node of a tree.
|
1472
|
-
//!
|
1473
|
-
//! <b>Effects</b>: Rebalances the subtree rooted at old_root.
|
1474
|
-
//!
|
1475
|
-
//! <b>Returns</b>: The new root of the subtree.
|
1476
|
-
//!
|
1477
|
-
//! <b>Throws</b>: Nothing.
|
1478
|
-
//!
|
1479
|
-
//! <b>Complexity</b>: Linear to the elements in the subtree.
|
1480
|
-
iterator rebalance_subtree(iterator root)
|
1481
|
-
{ return iterator(node_algorithms::rebalance_subtree(root.pointed_node()), this); }
|
1482
|
-
|
1483
|
-
/*
|
1484
|
-
//! <b>Effects</b>: removes x from a tree of the appropriate type. It has no effect,
|
1485
|
-
//! if x is not in such a tree.
|
1486
|
-
//!
|
1487
|
-
//! <b>Throws</b>: Nothing.
|
1488
|
-
//!
|
1489
|
-
//! <b>Complexity</b>: Constant time.
|
1490
|
-
//!
|
1491
|
-
//! <b>Note</b>: This static function is only usable with the "safe mode"
|
1492
|
-
//! hook and non-constant time size lists. Otherwise, the user must use
|
1493
|
-
//! the non-static "erase(reference )" member. If the user calls
|
1494
|
-
//! this function with a non "safe mode" or constant time size list
|
1495
|
-
//! a compilation error will be issued.
|
1496
|
-
template<class T>
|
1497
|
-
static void remove_node(T& value)
|
1498
|
-
{
|
1499
|
-
//This function is only usable for safe mode hooks and non-constant
|
1500
|
-
//time lists.
|
1501
|
-
//BOOST_STATIC_ASSERT((!(safemode_or_autounlink && constant_time_size)));
|
1502
|
-
BOOST_STATIC_ASSERT((!constant_time_size));
|
1503
|
-
BOOST_STATIC_ASSERT((boost::is_convertible<T, value_type>::value));
|
1504
|
-
node_ptr to_remove(value_traits::to_node_ptr(value));
|
1505
|
-
node_algorithms::unlink_and_rebalance(to_remove);
|
1506
|
-
if(safemode_or_autounlink)
|
1507
|
-
node_algorithms::init(to_remove);
|
1508
|
-
}
|
1509
|
-
*/
|
1510
|
-
|
1511
|
-
/// @cond
|
1512
|
-
private:
|
1513
|
-
template<class Disposer>
|
1514
|
-
iterator private_erase(const_iterator b, const_iterator e, size_type &n, Disposer disposer)
|
1515
|
-
{
|
1516
|
-
for(n = 0; b != e; ++n)
|
1517
|
-
this->erase_and_dispose(b++, disposer);
|
1518
|
-
return b.unconst();
|
1519
|
-
}
|
1520
|
-
|
1521
|
-
iterator private_erase(const_iterator b, const_iterator e, size_type &n)
|
1522
|
-
{
|
1523
|
-
for(n = 0; b != e; ++n)
|
1524
|
-
this->erase(b++);
|
1525
|
-
return b.unconst();
|
1526
|
-
}
|
1527
|
-
/// @endcond
|
1528
|
-
|
1529
|
-
private:
|
1530
|
-
static splaytree_impl &priv_container_from_end_iterator(const const_iterator &end_iterator)
|
1531
|
-
{
|
1532
|
-
header_plus_size *r = detail::parent_from_member<header_plus_size, node>
|
1533
|
-
( boost::intrusive::detail::to_raw_pointer(end_iterator.pointed_node()), &header_plus_size::header_);
|
1534
|
-
node_plus_pred_t *n = detail::parent_from_member
|
1535
|
-
<node_plus_pred_t, header_plus_size>(r, &node_plus_pred_t::header_plus_size_);
|
1536
|
-
data_t *d = detail::parent_from_member<data_t, node_plus_pred_t>(n, &data_t::node_plus_pred_);
|
1537
|
-
splaytree_impl *rb = detail::parent_from_member<splaytree_impl, data_t>(d, &splaytree_impl::data_);
|
1538
|
-
return *rb;
|
1539
|
-
}
|
1540
|
-
|
1541
|
-
static splaytree_impl &priv_container_from_iterator(const const_iterator &it)
|
1542
|
-
{ return priv_container_from_end_iterator(it.end_iterator_from_it()); }
|
510
|
+
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
1543
511
|
};
|
1544
512
|
|
1545
|
-
|
1546
|
-
|
1547
|
-
#
|
1548
|
-
template<class Config>
|
1549
|
-
#endif
|
1550
|
-
inline bool operator<
|
1551
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1552
|
-
(const splaytree_impl<T, Options...> &x, const splaytree_impl<T, Options...> &y)
|
1553
|
-
#else
|
1554
|
-
(const splaytree_impl<Config> &x, const splaytree_impl<Config> &y)
|
1555
|
-
#endif
|
1556
|
-
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
1557
|
-
|
1558
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1559
|
-
template<class T, class ...Options>
|
1560
|
-
#else
|
1561
|
-
template<class Config>
|
1562
|
-
#endif
|
1563
|
-
bool operator==
|
1564
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1565
|
-
(const splaytree_impl<T, Options...> &x, const splaytree_impl<T, Options...> &y)
|
1566
|
-
#else
|
1567
|
-
(const splaytree_impl<Config> &x, const splaytree_impl<Config> &y)
|
1568
|
-
#endif
|
1569
|
-
{
|
1570
|
-
typedef splaytree_impl<Config> tree_type;
|
1571
|
-
typedef typename tree_type::const_iterator const_iterator;
|
1572
|
-
|
1573
|
-
if(tree_type::constant_time_size && x.size() != y.size()){
|
1574
|
-
return false;
|
1575
|
-
}
|
1576
|
-
const_iterator end1 = x.end();
|
1577
|
-
const_iterator i1 = x.begin();
|
1578
|
-
const_iterator i2 = y.begin();
|
1579
|
-
if(tree_type::constant_time_size){
|
1580
|
-
while (i1 != end1 && *i1 == *i2) {
|
1581
|
-
++i1;
|
1582
|
-
++i2;
|
1583
|
-
}
|
1584
|
-
return i1 == end1;
|
1585
|
-
}
|
1586
|
-
else{
|
1587
|
-
const_iterator end2 = y.end();
|
1588
|
-
while (i1 != end1 && i2 != end2 && *i1 == *i2) {
|
1589
|
-
++i1;
|
1590
|
-
++i2;
|
1591
|
-
}
|
1592
|
-
return i1 == end1 && i2 == end2;
|
1593
|
-
}
|
1594
|
-
}
|
1595
|
-
|
1596
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1597
|
-
template<class T, class ...Options>
|
1598
|
-
#else
|
1599
|
-
template<class Config>
|
1600
|
-
#endif
|
1601
|
-
inline bool operator!=
|
1602
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1603
|
-
(const splaytree_impl<T, Options...> &x, const splaytree_impl<T, Options...> &y)
|
1604
|
-
#else
|
1605
|
-
(const splaytree_impl<Config> &x, const splaytree_impl<Config> &y)
|
1606
|
-
#endif
|
1607
|
-
{ return !(x == y); }
|
1608
|
-
|
1609
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1610
|
-
template<class T, class ...Options>
|
1611
|
-
#else
|
1612
|
-
template<class Config>
|
1613
|
-
#endif
|
1614
|
-
inline bool operator>
|
1615
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1616
|
-
(const splaytree_impl<T, Options...> &x, const splaytree_impl<T, Options...> &y)
|
1617
|
-
#else
|
1618
|
-
(const splaytree_impl<Config> &x, const splaytree_impl<Config> &y)
|
1619
|
-
#endif
|
1620
|
-
{ return y < x; }
|
1621
|
-
|
1622
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1623
|
-
template<class T, class ...Options>
|
1624
|
-
#else
|
1625
|
-
template<class Config>
|
1626
|
-
#endif
|
1627
|
-
inline bool operator<=
|
1628
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1629
|
-
(const splaytree_impl<T, Options...> &x, const splaytree_impl<T, Options...> &y)
|
1630
|
-
#else
|
1631
|
-
(const splaytree_impl<Config> &x, const splaytree_impl<Config> &y)
|
1632
|
-
#endif
|
1633
|
-
{ return !(y < x); }
|
1634
|
-
|
1635
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1636
|
-
template<class T, class ...Options>
|
1637
|
-
#else
|
1638
|
-
template<class Config>
|
1639
|
-
#endif
|
1640
|
-
inline bool operator>=
|
1641
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1642
|
-
(const splaytree_impl<T, Options...> &x, const splaytree_impl<T, Options...> &y)
|
1643
|
-
#else
|
1644
|
-
(const splaytree_impl<Config> &x, const splaytree_impl<Config> &y)
|
1645
|
-
#endif
|
1646
|
-
{ return !(x < y); }
|
1647
|
-
|
1648
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
513
|
+
//! Helper metafunction to define a \c splaytree that yields to the same type when the
|
514
|
+
//! same options (either explicitly or implicitly) are used.
|
515
|
+
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1649
516
|
template<class T, class ...Options>
|
1650
517
|
#else
|
1651
|
-
template<class
|
1652
|
-
|
1653
|
-
|
1654
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1655
|
-
(splaytree_impl<T, Options...> &x, splaytree_impl<T, Options...> &y)
|
1656
|
-
#else
|
1657
|
-
(splaytree_impl<Config> &x, splaytree_impl<Config> &y)
|
1658
|
-
#endif
|
1659
|
-
{ x.swap(y); }
|
1660
|
-
|
1661
|
-
/// @cond
|
1662
|
-
|
1663
|
-
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1664
|
-
template<class T, class O1 = none, class O2 = none
|
1665
|
-
, class O3 = none, class O4 = none>
|
1666
|
-
#else
|
1667
|
-
template<class T, class ...Options>
|
518
|
+
template<class T, class O1 = void, class O2 = void
|
519
|
+
, class O3 = void, class O4 = void
|
520
|
+
, class O5 = void, class O6 = void>
|
1668
521
|
#endif
|
1669
|
-
struct
|
522
|
+
struct make_splaytree
|
1670
523
|
{
|
524
|
+
/// @cond
|
1671
525
|
typedef typename pack_options
|
1672
|
-
<
|
1673
|
-
|
1674
|
-
|
1675
|
-
|
1676
|
-
|
1677
|
-
|
526
|
+
< splaytree_defaults,
|
527
|
+
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
528
|
+
O1, O2, O3, O4, O5, O6
|
529
|
+
#else
|
530
|
+
Options...
|
531
|
+
#endif
|
1678
532
|
>::type packed_options;
|
533
|
+
|
1679
534
|
typedef typename detail::get_value_traits
|
1680
|
-
<T, typename packed_options::
|
535
|
+
<T, typename packed_options::proto_value_traits>::type value_traits;
|
1681
536
|
|
1682
|
-
typedef
|
537
|
+
typedef splaytree_impl
|
1683
538
|
< value_traits
|
539
|
+
, typename packed_options::key_of_value
|
1684
540
|
, typename packed_options::compare
|
1685
541
|
, typename packed_options::size_type
|
1686
542
|
, packed_options::constant_time_size
|
1687
|
-
|
1688
|
-
|
1689
|
-
/// @endcond
|
1690
|
-
|
1691
|
-
//! Helper metafunction to define a \c splaytree that yields to the same type when the
|
1692
|
-
//! same options (either explicitly or implicitly) are used.
|
1693
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1694
|
-
template<class T, class ...Options>
|
1695
|
-
#else
|
1696
|
-
template<class T, class O1 = none, class O2 = none
|
1697
|
-
, class O3 = none, class O4 = none>
|
1698
|
-
#endif
|
1699
|
-
struct make_splaytree
|
1700
|
-
{
|
1701
|
-
/// @cond
|
1702
|
-
typedef splaytree_impl
|
1703
|
-
< typename make_splaytree_opt<T,
|
1704
|
-
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1705
|
-
O1, O2, O3, O4
|
1706
|
-
#else
|
1707
|
-
Options...
|
1708
|
-
#endif
|
1709
|
-
>::type
|
1710
|
-
> implementation_defined;
|
543
|
+
, typename packed_options::header_holder_type
|
544
|
+
> implementation_defined;
|
1711
545
|
/// @endcond
|
1712
546
|
typedef implementation_defined type;
|
1713
547
|
};
|
1714
548
|
|
549
|
+
|
1715
550
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
551
|
+
|
1716
552
|
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1717
|
-
template<class T, class O1, class O2, class O3, class O4>
|
553
|
+
template<class T, class O1, class O2, class O3, class O4, class O5, class O6>
|
1718
554
|
#else
|
1719
555
|
template<class T, class ...Options>
|
1720
556
|
#endif
|
1721
557
|
class splaytree
|
1722
558
|
: public make_splaytree<T,
|
1723
|
-
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
559
|
+
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
560
|
+
O1, O2, O3, O4, O5, O6
|
561
|
+
#else
|
562
|
+
Options...
|
563
|
+
#endif
|
1728
564
|
>::type
|
1729
565
|
{
|
1730
566
|
typedef typename make_splaytree
|
1731
567
|
<T,
|
1732
|
-
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
|
568
|
+
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
569
|
+
O1, O2, O3, O4, O5, O6
|
570
|
+
#else
|
571
|
+
Options...
|
572
|
+
#endif
|
1737
573
|
>::type Base;
|
1738
574
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(splaytree)
|
1739
575
|
|
1740
576
|
public:
|
1741
|
-
typedef typename Base::
|
577
|
+
typedef typename Base::key_compare key_compare;
|
1742
578
|
typedef typename Base::value_traits value_traits;
|
1743
|
-
typedef typename Base::real_value_traits real_value_traits;
|
1744
579
|
typedef typename Base::iterator iterator;
|
1745
580
|
typedef typename Base::const_iterator const_iterator;
|
581
|
+
typedef typename Base::reverse_iterator reverse_iterator;
|
582
|
+
typedef typename Base::const_reverse_iterator const_reverse_iterator;
|
1746
583
|
|
1747
584
|
//Assert if passed value traits are compatible with the type
|
1748
|
-
BOOST_STATIC_ASSERT((detail::is_same<typename
|
585
|
+
BOOST_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
|
1749
586
|
|
1750
|
-
splaytree( const
|
1751
|
-
|
587
|
+
explicit splaytree( const key_compare &cmp = key_compare()
|
588
|
+
, const value_traits &v_traits = value_traits())
|
1752
589
|
: Base(cmp, v_traits)
|
1753
590
|
{}
|
1754
591
|
|
1755
592
|
template<class Iterator>
|
1756
593
|
splaytree( bool unique, Iterator b, Iterator e
|
1757
|
-
|
1758
|
-
|
594
|
+
, const key_compare &cmp = key_compare()
|
595
|
+
, const value_traits &v_traits = value_traits())
|
1759
596
|
: Base(unique, b, e, cmp, v_traits)
|
1760
597
|
{}
|
1761
598
|
|
1762
599
|
splaytree(BOOST_RV_REF(splaytree) x)
|
1763
|
-
: Base(
|
600
|
+
: Base(BOOST_MOVE_BASE(Base, x))
|
1764
601
|
{}
|
1765
602
|
|
1766
603
|
splaytree& operator=(BOOST_RV_REF(splaytree) x)
|
1767
|
-
{ this->Base::operator=(
|
604
|
+
{ return static_cast<splaytree &>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
|
605
|
+
|
606
|
+
template <class Cloner, class Disposer>
|
607
|
+
void clone_from(const splaytree &src, Cloner cloner, Disposer disposer)
|
608
|
+
{ Base::clone_from(src, cloner, disposer); }
|
609
|
+
|
610
|
+
template <class Cloner, class Disposer>
|
611
|
+
void clone_from(BOOST_RV_REF(splaytree) src, Cloner cloner, Disposer disposer)
|
612
|
+
{ Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
|
1768
613
|
|
1769
614
|
static splaytree &container_from_end_iterator(iterator end_iterator)
|
1770
615
|
{ return static_cast<splaytree &>(Base::container_from_end_iterator(end_iterator)); }
|
1771
616
|
|
1772
617
|
static const splaytree &container_from_end_iterator(const_iterator end_iterator)
|
1773
618
|
{ return static_cast<const splaytree &>(Base::container_from_end_iterator(end_iterator)); }
|
619
|
+
|
620
|
+
static splaytree &container_from_iterator(iterator it)
|
621
|
+
{ return static_cast<splaytree &>(Base::container_from_iterator(it)); }
|
622
|
+
|
623
|
+
static const splaytree &container_from_iterator(const_iterator it)
|
624
|
+
{ return static_cast<const splaytree &>(Base::container_from_iterator(it)); }
|
1774
625
|
};
|
1775
626
|
|
1776
627
|
#endif
|
1777
628
|
|
1778
|
-
|
1779
629
|
} //namespace intrusive
|
1780
630
|
} //namespace boost
|
1781
631
|
|