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 2006-
|
3
|
+
// (C) Copyright Ion Gaztanaga 2006-2013
|
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,16 +13,26 @@
|
|
13
13
|
#ifndef BOOST_INTRUSIVE_TRIVIAL_VALUE_TRAITS_HPP
|
14
14
|
#define BOOST_INTRUSIVE_TRIVIAL_VALUE_TRAITS_HPP
|
15
15
|
|
16
|
+
#include <boost/intrusive/detail/config_begin.hpp>
|
17
|
+
#include <boost/intrusive/intrusive_fwd.hpp>
|
16
18
|
#include <boost/intrusive/link_mode.hpp>
|
17
19
|
#include <boost/intrusive/pointer_traits.hpp>
|
18
20
|
|
21
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
22
|
+
# pragma once
|
23
|
+
#endif
|
24
|
+
|
19
25
|
namespace boost {
|
20
26
|
namespace intrusive {
|
21
27
|
|
22
28
|
//!This value traits template is used to create value traits
|
23
29
|
//!from user defined node traits where value_traits::value_type and
|
24
30
|
//!node_traits::node should be equal
|
25
|
-
template<class NodeTraits, link_mode_type LinkMode
|
31
|
+
template<class NodeTraits, link_mode_type LinkMode
|
32
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
33
|
+
= safe_link
|
34
|
+
#endif
|
35
|
+
>
|
26
36
|
struct trivial_value_traits
|
27
37
|
{
|
28
38
|
typedef NodeTraits node_traits;
|
@@ -43,4 +53,6 @@ struct trivial_value_traits
|
|
43
53
|
} //namespace intrusive
|
44
54
|
} //namespace boost
|
45
55
|
|
56
|
+
#include <boost/intrusive/detail/config_end.hpp>
|
57
|
+
|
46
58
|
#endif //BOOST_INTRUSIVE_TRIVIAL_VALUE_TRAITS_HPP
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/////////////////////////////////////////////////////////////////////////////
|
2
2
|
//
|
3
3
|
// (C) Copyright Olaf Krzikalla 2004-2006.
|
4
|
-
// (C) Copyright Ion Gaztanaga 2006-
|
4
|
+
// (C) Copyright Ion Gaztanaga 2006-2014
|
5
5
|
//
|
6
6
|
// Distributed under the Boost Software License, Version 1.0.
|
7
7
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
@@ -16,9 +16,12 @@
|
|
16
16
|
#include <boost/intrusive/detail/config_begin.hpp>
|
17
17
|
#include <boost/intrusive/intrusive_fwd.hpp>
|
18
18
|
#include <boost/intrusive/hashtable.hpp>
|
19
|
-
#include <boost/move/
|
20
|
-
#include <
|
19
|
+
#include <boost/move/utility_core.hpp>
|
20
|
+
#include <boost/static_assert.hpp>
|
21
21
|
|
22
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
23
|
+
# pragma once
|
24
|
+
#endif
|
22
25
|
|
23
26
|
namespace boost {
|
24
27
|
namespace intrusive {
|
@@ -61,13 +64,24 @@ namespace intrusive {
|
|
61
64
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
62
65
|
template<class T, class ...Options>
|
63
66
|
#else
|
64
|
-
template<class
|
67
|
+
template<class ValueTraits, class VoidOrKeyOfValue, class VoidOrKeyHash, class VoidOrKeyEqual, class SizeType, class BucketTraits, std::size_t BoolFlags>
|
65
68
|
#endif
|
66
69
|
class unordered_set_impl
|
70
|
+
: public hashtable_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrKeyEqual, BucketTraits, SizeType, BoolFlags|hash_bool_flags::unique_keys_pos>
|
67
71
|
{
|
68
72
|
/// @cond
|
69
73
|
private:
|
70
|
-
typedef hashtable_impl<
|
74
|
+
typedef hashtable_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrKeyEqual, BucketTraits, SizeType, BoolFlags|hash_bool_flags::unique_keys_pos> table_type;
|
75
|
+
|
76
|
+
template<class Iterator, class MaybeConstThis, class KeyType, class KeyHasher, class KeyEqual>
|
77
|
+
static std::pair<Iterator,Iterator> priv_equal_range(MaybeConstThis &c, const KeyType& key, KeyHasher hash_func, KeyEqual equal_func)
|
78
|
+
{
|
79
|
+
Iterator const it = c.find(key, hash_func, equal_func);
|
80
|
+
std::pair<Iterator,Iterator> ret(it, it);
|
81
|
+
if(it != c.end())
|
82
|
+
++ret.second;
|
83
|
+
return ret;
|
84
|
+
}
|
71
85
|
|
72
86
|
//! This class is
|
73
87
|
//! movable
|
@@ -78,6 +92,8 @@ class unordered_set_impl
|
|
78
92
|
|
79
93
|
public:
|
80
94
|
typedef typename implementation_defined::value_type value_type;
|
95
|
+
typedef typename implementation_defined::key_type key_type;
|
96
|
+
typedef typename implementation_defined::key_of_value key_of_value;
|
81
97
|
typedef typename implementation_defined::value_traits value_traits;
|
82
98
|
typedef typename implementation_defined::bucket_traits bucket_traits;
|
83
99
|
typedef typename implementation_defined::pointer pointer;
|
@@ -86,7 +102,6 @@ class unordered_set_impl
|
|
86
102
|
typedef typename implementation_defined::const_reference const_reference;
|
87
103
|
typedef typename implementation_defined::difference_type difference_type;
|
88
104
|
typedef typename implementation_defined::size_type size_type;
|
89
|
-
typedef typename implementation_defined::key_type key_type;
|
90
105
|
typedef typename implementation_defined::key_equal key_equal;
|
91
106
|
typedef typename implementation_defined::hasher hasher;
|
92
107
|
typedef typename implementation_defined::bucket_type bucket_type;
|
@@ -102,48 +117,17 @@ class unordered_set_impl
|
|
102
117
|
typedef typename implementation_defined::const_node_ptr const_node_ptr;
|
103
118
|
typedef typename implementation_defined::node_algorithms node_algorithms;
|
104
119
|
|
105
|
-
/// @cond
|
106
|
-
private:
|
107
|
-
table_type table_;
|
108
|
-
/// @endcond
|
109
|
-
|
110
120
|
public:
|
111
121
|
|
112
|
-
//!
|
113
|
-
//!
|
114
|
-
//! <b>Effects</b>: Constructs an empty unordered_set_impl, storing a reference
|
115
|
-
//! to the bucket array and copies of the hasher and equal functors.
|
116
|
-
//!
|
117
|
-
//! <b>Complexity</b>: Constant.
|
118
|
-
//!
|
119
|
-
//! <b>Throws</b>: If value_traits::node_traits::node
|
120
|
-
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
121
|
-
//! or the copy constructor or invocation of Hash or Equal throws.
|
122
|
-
//!
|
123
|
-
//! <b>Notes</b>: buckets array must be disposed only after
|
124
|
-
//! *this is disposed.
|
122
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable(const bucket_traits &,const hasher &,const key_equal &,const value_traits &)
|
125
123
|
explicit unordered_set_impl( const bucket_traits &b_traits
|
126
124
|
, const hasher & hash_func = hasher()
|
127
125
|
, const key_equal &equal_func = key_equal()
|
128
126
|
, const value_traits &v_traits = value_traits())
|
129
|
-
:
|
127
|
+
: table_type(b_traits, hash_func, equal_func, v_traits)
|
130
128
|
{}
|
131
129
|
|
132
|
-
//!
|
133
|
-
//! and Dereferencing iterator must yield an lvalue of type value_type.
|
134
|
-
//!
|
135
|
-
//! <b>Effects</b>: Constructs an empty unordered_set and inserts elements from
|
136
|
-
//! [b, e).
|
137
|
-
//!
|
138
|
-
//! <b>Complexity</b>: If N is std::distance(b, e): Average case is O(N)
|
139
|
-
//! (with a good hash function and with buckets_len >= N),worst case O(N2).
|
140
|
-
//!
|
141
|
-
//! <b>Throws</b>: If value_traits::node_traits::node
|
142
|
-
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
143
|
-
//! or the copy constructor or invocation of hasher or key_equal throws.
|
144
|
-
//!
|
145
|
-
//! <b>Notes</b>: buckets array must be disposed only after
|
146
|
-
//! *this is disposed.
|
130
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable(bool,Iterator,Iterator,const bucket_traits &,const hasher &,const key_equal &,const value_traits &)
|
147
131
|
template<class Iterator>
|
148
132
|
unordered_set_impl( Iterator b
|
149
133
|
, Iterator e
|
@@ -151,852 +135,272 @@ class unordered_set_impl
|
|
151
135
|
, const hasher & hash_func = hasher()
|
152
136
|
, const key_equal &equal_func = key_equal()
|
153
137
|
, const value_traits &v_traits = value_traits())
|
154
|
-
:
|
155
|
-
{
|
138
|
+
: table_type(true, b, e, b_traits, hash_func, equal_func, v_traits)
|
139
|
+
{}
|
156
140
|
|
157
|
-
//!
|
158
|
-
//!
|
141
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable(hashtable&&)
|
159
142
|
unordered_set_impl(BOOST_RV_REF(unordered_set_impl) x)
|
160
|
-
:
|
143
|
+
: table_type(BOOST_MOVE_BASE(table_type, x))
|
161
144
|
{}
|
162
145
|
|
163
|
-
//!
|
164
|
-
//!
|
146
|
+
//! @copydoc ::boost::intrusive::hashtable::operator=(hashtable&&)
|
165
147
|
unordered_set_impl& operator=(BOOST_RV_REF(unordered_set_impl) x)
|
166
|
-
{
|
148
|
+
{ return static_cast<unordered_set_impl&>(table_type::operator=(BOOST_MOVE_BASE(table_type, x))); }
|
167
149
|
|
168
|
-
|
169
|
-
//!
|
170
|
-
|
171
|
-
//! <b>Complexity</b>: Linear to the number of elements in the unordered_set, if
|
172
|
-
//! it's a safe-mode or auto-unlink value. Otherwise constant.
|
173
|
-
//!
|
174
|
-
//! <b>Throws</b>: Nothing.
|
175
|
-
~unordered_set_impl()
|
176
|
-
{}
|
150
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
151
|
+
//! @copydoc ::boost::intrusive::hashtable::~hashtable()
|
152
|
+
~unordered_set_impl();
|
177
153
|
|
178
|
-
//!
|
179
|
-
|
180
|
-
//! <b>Complexity</b>: Constant time if `cache_begin<>` is true. Amortized
|
181
|
-
//! constant time with worst case (empty unordered_set) O(this->bucket_count())
|
182
|
-
//!
|
183
|
-
//! <b>Throws</b>: Nothing.
|
184
|
-
iterator begin()
|
185
|
-
{ return table_.begin(); }
|
154
|
+
//! @copydoc ::boost::intrusive::hashtable::begin()
|
155
|
+
iterator begin();
|
186
156
|
|
187
|
-
//!
|
188
|
-
|
189
|
-
//!
|
190
|
-
//! <b>Complexity</b>: Constant time if `cache_begin<>` is true. Amortized
|
191
|
-
//! constant time with worst case (empty unordered_set) O(this->bucket_count())
|
192
|
-
//!
|
193
|
-
//! <b>Throws</b>: Nothing.
|
194
|
-
const_iterator begin() const
|
195
|
-
{ return table_.begin(); }
|
157
|
+
//! @copydoc ::boost::intrusive::hashtable::begin()const
|
158
|
+
const_iterator begin() const;
|
196
159
|
|
197
|
-
//!
|
198
|
-
|
199
|
-
//!
|
200
|
-
//! <b>Complexity</b>: Constant time if `cache_begin<>` is true. Amortized
|
201
|
-
//! constant time with worst case (empty unordered_set) O(this->bucket_count())
|
202
|
-
//!
|
203
|
-
//! <b>Throws</b>: Nothing.
|
204
|
-
const_iterator cbegin() const
|
205
|
-
{ return table_.cbegin(); }
|
160
|
+
//! @copydoc ::boost::intrusive::hashtable::cbegin()const
|
161
|
+
const_iterator cbegin() const;
|
206
162
|
|
207
|
-
//!
|
208
|
-
|
209
|
-
//! <b>Complexity</b>: Constant.
|
210
|
-
//!
|
211
|
-
//! <b>Throws</b>: Nothing.
|
212
|
-
iterator end()
|
213
|
-
{ return table_.end(); }
|
163
|
+
//! @copydoc ::boost::intrusive::hashtable::end()
|
164
|
+
iterator end();
|
214
165
|
|
215
|
-
//!
|
216
|
-
|
217
|
-
//! <b>Complexity</b>: Constant.
|
218
|
-
//!
|
219
|
-
//! <b>Throws</b>: Nothing.
|
220
|
-
const_iterator end() const
|
221
|
-
{ return table_.end(); }
|
166
|
+
//! @copydoc ::boost::intrusive::hashtable::end()const
|
167
|
+
const_iterator end() const;
|
222
168
|
|
223
|
-
//!
|
224
|
-
|
225
|
-
//! <b>Complexity</b>: Constant.
|
226
|
-
//!
|
227
|
-
//! <b>Throws</b>: Nothing.
|
228
|
-
const_iterator cend() const
|
229
|
-
{ return table_.cend(); }
|
169
|
+
//! @copydoc ::boost::intrusive::hashtable::cend()const
|
170
|
+
const_iterator cend() const;
|
230
171
|
|
231
|
-
//!
|
232
|
-
|
233
|
-
//! <b>Complexity</b>: Constant.
|
234
|
-
//!
|
235
|
-
//! <b>Throws</b>: If hasher copy-constructor throws.
|
236
|
-
hasher hash_function() const
|
237
|
-
{ return table_.hash_function(); }
|
172
|
+
//! @copydoc ::boost::intrusive::hashtable::hash_function()const
|
173
|
+
hasher hash_function() const;
|
238
174
|
|
239
|
-
//!
|
240
|
-
|
241
|
-
//! <b>Complexity</b>: Constant.
|
242
|
-
//!
|
243
|
-
//! <b>Throws</b>: If key_equal copy-constructor throws.
|
244
|
-
key_equal key_eq() const
|
245
|
-
{ return table_.key_eq(); }
|
175
|
+
//! @copydoc ::boost::intrusive::hashtable::key_eq()const
|
176
|
+
key_equal key_eq() const;
|
246
177
|
|
247
|
-
//!
|
248
|
-
|
249
|
-
//! <b>Complexity</b>: if constant-time size and cache_last options are disabled,
|
250
|
-
//! average constant time (worst case, with empty() == true: O(this->bucket_count()).
|
251
|
-
//! Otherwise constant.
|
252
|
-
//!
|
253
|
-
//! <b>Throws</b>: Nothing.
|
254
|
-
bool empty() const
|
255
|
-
{ return table_.empty(); }
|
178
|
+
//! @copydoc ::boost::intrusive::hashtable::empty()const
|
179
|
+
bool empty() const;
|
256
180
|
|
257
|
-
//!
|
258
|
-
|
259
|
-
//! <b>Complexity</b>: Linear to elements contained in *this if
|
260
|
-
//! constant-time size option is disabled. Constant-time otherwise.
|
261
|
-
//!
|
262
|
-
//! <b>Throws</b>: Nothing.
|
263
|
-
size_type size() const
|
264
|
-
{ return table_.size(); }
|
181
|
+
//! @copydoc ::boost::intrusive::hashtable::size()const
|
182
|
+
size_type size() const;
|
265
183
|
|
266
|
-
//!
|
267
|
-
|
268
|
-
|
269
|
-
//!
|
270
|
-
//! Swaps also the contained bucket array and equality and hasher functors.
|
271
|
-
//!
|
272
|
-
//! <b>Complexity</b>: Constant.
|
273
|
-
//!
|
274
|
-
//! <b>Throws</b>: If the swap() call for the comparison or hash functors
|
275
|
-
//! found using ADL throw. Basic guarantee.
|
276
|
-
void swap(unordered_set_impl& other)
|
277
|
-
{ table_.swap(other.table_); }
|
278
|
-
|
279
|
-
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
280
|
-
//! Cloner should yield to nodes that compare equal and produce the same
|
281
|
-
//! hash than the original node.
|
282
|
-
//!
|
283
|
-
//! <b>Effects</b>: Erases all the elements from *this
|
284
|
-
//! calling Disposer::operator()(pointer), clones all the
|
285
|
-
//! elements from src calling Cloner::operator()(const_reference )
|
286
|
-
//! and inserts them on *this. The hash function and the equality
|
287
|
-
//! predicate are copied from the source.
|
288
|
-
//!
|
289
|
-
//! If store_hash option is true, this method does not use the hash function.
|
290
|
-
//!
|
291
|
-
//! If any operation throws, all cloned elements are unlinked and disposed
|
292
|
-
//! calling Disposer::operator()(pointer).
|
293
|
-
//!
|
294
|
-
//! <b>Complexity</b>: Linear to erased plus inserted elements.
|
295
|
-
//!
|
296
|
-
//! <b>Throws</b>: If cloner or hasher throw or hash or equality predicate copying
|
297
|
-
//! throws. Basic guarantee.
|
184
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable
|
185
|
+
void swap(unordered_set_impl& other);
|
186
|
+
|
187
|
+
//! @copydoc ::boost::intrusive::hashtable::clone_from(const hashtable&,Cloner,Disposer)
|
298
188
|
template <class Cloner, class Disposer>
|
299
|
-
void clone_from(const unordered_set_impl &src, Cloner cloner, Disposer disposer)
|
300
|
-
{ table_.clone_from(src.table_, cloner, disposer); }
|
189
|
+
void clone_from(const unordered_set_impl &src, Cloner cloner, Disposer disposer);
|
301
190
|
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
//!
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
//!
|
314
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Strong guarantee.
|
315
|
-
//!
|
316
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
317
|
-
//! No copy-constructors are called.
|
191
|
+
#else
|
192
|
+
|
193
|
+
using table_type::clone_from;
|
194
|
+
|
195
|
+
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
196
|
+
|
197
|
+
//! @copydoc ::boost::intrusive::hashtable::clone_from(hashtable&&,Cloner,Disposer)
|
198
|
+
template <class Cloner, class Disposer>
|
199
|
+
void clone_from(BOOST_RV_REF(unordered_set_impl) src, Cloner cloner, Disposer disposer)
|
200
|
+
{ table_type::clone_from(BOOST_MOVE_BASE(table_type, src), cloner, disposer); }
|
201
|
+
|
202
|
+
//! @copydoc ::boost::intrusive::hashtable::insert_unique(reference)
|
318
203
|
std::pair<iterator, bool> insert(reference value)
|
319
|
-
{ return
|
204
|
+
{ return table_type::insert_unique(value); }
|
320
205
|
|
321
|
-
//!
|
322
|
-
//! of type value_type.
|
323
|
-
//!
|
324
|
-
//! <b>Effects</b>: Equivalent to this->insert(t) for each element in [b, e).
|
325
|
-
//!
|
326
|
-
//! <b>Complexity</b>: Average case O(N), where N is std::distance(b, e).
|
327
|
-
//! Worst case O(N*this->size()).
|
328
|
-
//!
|
329
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Basic guarantee.
|
330
|
-
//!
|
331
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
332
|
-
//! No copy-constructors are called.
|
206
|
+
//! @copydoc ::boost::intrusive::hashtable::insert_unique(Iterator,Iterator)
|
333
207
|
template<class Iterator>
|
334
208
|
void insert(Iterator b, Iterator e)
|
335
|
-
{
|
209
|
+
{ table_type::insert_unique(b, e); }
|
336
210
|
|
337
|
-
//!
|
338
|
-
|
339
|
-
//! "hasher" hashes the given key instead of the value_type.
|
340
|
-
//!
|
341
|
-
//! "key_value_equal" must be a equality function that induces
|
342
|
-
//! the same equality as key_equal. The difference is that
|
343
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
344
|
-
//!
|
345
|
-
//! <b>Effects</b>: Checks if a value can be inserted in the unordered_set, using
|
346
|
-
//! a user provided key instead of the value itself.
|
347
|
-
//!
|
348
|
-
//! <b>Returns</b>: If there is an equivalent value
|
349
|
-
//! returns a pair containing an iterator to the already present value
|
350
|
-
//! and false. If the value can be inserted returns true in the returned
|
351
|
-
//! pair boolean and fills "commit_data" that is meant to be used with
|
352
|
-
//! the "insert_commit" function.
|
353
|
-
//!
|
354
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
355
|
-
//!
|
356
|
-
//! <b>Throws</b>: If hasher or key_value_equal throw. Strong guarantee.
|
357
|
-
//!
|
358
|
-
//! <b>Notes</b>: This function is used to improve performance when constructing
|
359
|
-
//! a value_type is expensive: if there is an equivalent value
|
360
|
-
//! the constructed object must be discarded. Many times, the part of the
|
361
|
-
//! node that is used to impose the hash or the equality is much cheaper to
|
362
|
-
//! construct than the value_type and this function offers the possibility to
|
363
|
-
//! use that the part to check if the insertion will be successful.
|
364
|
-
//!
|
365
|
-
//! If the check is successful, the user can construct the value_type and use
|
366
|
-
//! "insert_commit" to insert the object in constant-time.
|
367
|
-
//!
|
368
|
-
//! "commit_data" remains valid for a subsequent "insert_commit" only if no more
|
369
|
-
//! objects are inserted or erased from the unordered_set.
|
370
|
-
//!
|
371
|
-
//! After a successful rehashing insert_commit_data remains valid.
|
372
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
211
|
+
//! @copydoc ::boost::intrusive::hashtable::insert_unique_check(const KeyType&,KeyHasher,KeyEqual,insert_commit_data&)
|
212
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
373
213
|
std::pair<iterator, bool> insert_check
|
374
|
-
(const KeyType &key, KeyHasher hasher,
|
375
|
-
{ return
|
214
|
+
(const KeyType &key, KeyHasher hasher, KeyEqual key_value_equal, insert_commit_data &commit_data)
|
215
|
+
{ return table_type::insert_unique_check(key, hasher, key_value_equal, commit_data); }
|
376
216
|
|
377
|
-
//!
|
378
|
-
//! must have been obtained from a previous call to "insert_check".
|
379
|
-
//! No objects should have been inserted or erased from the unordered_set between
|
380
|
-
//! the "insert_check" that filled "commit_data" and the call to "insert_commit".
|
381
|
-
//!
|
382
|
-
//! <b>Effects</b>: Inserts the value in the unordered_set using the information obtained
|
383
|
-
//! from the "commit_data" that a previous "insert_check" filled.
|
384
|
-
//!
|
385
|
-
//! <b>Returns</b>: An iterator to the newly inserted object.
|
386
|
-
//!
|
387
|
-
//! <b>Complexity</b>: Constant time.
|
388
|
-
//!
|
389
|
-
//! <b>Throws</b>: Nothing.
|
390
|
-
//!
|
391
|
-
//! <b>Notes</b>: This function has only sense if a "insert_check" has been
|
392
|
-
//! previously executed to fill "commit_data". No value should be inserted or
|
393
|
-
//! erased between the "insert_check" and "insert_commit" calls.
|
394
|
-
//!
|
395
|
-
//! After a successful rehashing insert_commit_data remains valid.
|
217
|
+
//! @copydoc ::boost::intrusive::hashtable::insert_unique_commit
|
396
218
|
iterator insert_commit(reference value, const insert_commit_data &commit_data)
|
397
|
-
{ return
|
219
|
+
{ return table_type::insert_unique_commit(value, commit_data); }
|
398
220
|
|
399
|
-
|
400
|
-
//!
|
401
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
402
|
-
//!
|
403
|
-
//! <b>Throws</b>: Nothing.
|
404
|
-
//!
|
405
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
406
|
-
//! to the erased element. No destructors are called.
|
407
|
-
void erase(const_iterator i)
|
408
|
-
{ table_.erase(i); }
|
221
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
409
222
|
|
410
|
-
//!
|
411
|
-
|
412
|
-
//! <b>Complexity</b>: Average case O(std::distance(b, e)),
|
413
|
-
//! worst case O(this->size()).
|
414
|
-
//!
|
415
|
-
//! <b>Throws</b>: Nothing.
|
416
|
-
//!
|
417
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
418
|
-
//! to the erased elements. No destructors are called.
|
419
|
-
void erase(const_iterator b, const_iterator e)
|
420
|
-
{ table_.erase(b, e); }
|
223
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const_iterator)
|
224
|
+
void erase(const_iterator i);
|
421
225
|
|
422
|
-
//!
|
423
|
-
|
424
|
-
//! <b>Returns</b>: The number of erased elements.
|
425
|
-
//!
|
426
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
427
|
-
//! Worst case O(this->size()).
|
428
|
-
//!
|
429
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Basic guarantee.
|
430
|
-
//!
|
431
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
432
|
-
//! to the erased elements. No destructors are called.
|
433
|
-
size_type erase(const_reference value)
|
434
|
-
{ return table_.erase(value); }
|
435
|
-
|
436
|
-
//! <b>Requires</b>: "hasher" must be a hash function that induces
|
437
|
-
//! the same hash values as the stored hasher. The difference is that
|
438
|
-
//! "hasher" hashes the given key instead of the value_type.
|
439
|
-
//!
|
440
|
-
//! "key_value_equal" must be a equality function that induces
|
441
|
-
//! the same equality as key_equal. The difference is that
|
442
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
443
|
-
//!
|
444
|
-
//! <b>Effects</b>: Erases all the elements that have the same hash and
|
445
|
-
//! compare equal with the given key.
|
446
|
-
//!
|
447
|
-
//! <b>Returns</b>: The number of erased elements.
|
448
|
-
//!
|
449
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
450
|
-
//! Worst case O(this->size()).
|
451
|
-
//!
|
452
|
-
//! <b>Throws</b>: If hash_func or equal_func throw. Basic guarantee.
|
453
|
-
//!
|
454
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
455
|
-
//! to the erased elements. No destructors are called.
|
456
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
457
|
-
size_type erase(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func)
|
458
|
-
{ return table_.erase(key, hash_func, equal_func); }
|
226
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const_iterator,const_iterator)
|
227
|
+
void erase(const_iterator b, const_iterator e);
|
459
228
|
|
460
|
-
//!
|
461
|
-
|
462
|
-
|
463
|
-
//!
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
//!
|
468
|
-
//!
|
469
|
-
//! <b>Note</b>: Invalidates the iterators
|
470
|
-
//! to the erased elements.
|
229
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const key_type &)
|
230
|
+
size_type erase(const key_type &key);
|
231
|
+
|
232
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const KeyType&,KeyHasher,KeyEqual)
|
233
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
234
|
+
size_type erase(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func);
|
235
|
+
|
236
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const_iterator,Disposer)
|
471
237
|
template<class Disposer>
|
472
|
-
void
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
{ table_.erase_and_dispose(i, disposer); }
|
478
|
-
|
479
|
-
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
480
|
-
//!
|
481
|
-
//! <b>Effects</b>: Erases the range pointed to by b end e.
|
482
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
483
|
-
//!
|
484
|
-
//! <b>Complexity</b>: Average case O(std::distance(b, e)),
|
485
|
-
//! worst case O(this->size()).
|
486
|
-
//!
|
487
|
-
//! <b>Throws</b>: Nothing.
|
488
|
-
//!
|
489
|
-
//! <b>Note</b>: Invalidates the iterators
|
490
|
-
//! to the erased elements.
|
238
|
+
BOOST_INTRUSIVE_DOC1ST(void
|
239
|
+
, typename detail::disable_if_convertible<Disposer BOOST_INTRUSIVE_I const_iterator>::type)
|
240
|
+
erase_and_dispose(const_iterator i, Disposer disposer);
|
241
|
+
|
242
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const_iterator,const_iterator,Disposer)
|
491
243
|
template<class Disposer>
|
492
|
-
void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer)
|
493
|
-
{ table_.erase_and_dispose(b, e, disposer); }
|
244
|
+
void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer);
|
494
245
|
|
495
|
-
//!
|
496
|
-
//!
|
497
|
-
//! <b>Effects</b>: Erases all the elements with the given value.
|
498
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
499
|
-
//!
|
500
|
-
//! <b>Returns</b>: The number of erased elements.
|
501
|
-
//!
|
502
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
503
|
-
//! Worst case O(this->size()).
|
504
|
-
//!
|
505
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Basic guarantee.
|
506
|
-
//!
|
507
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
508
|
-
//! to the erased elements. No destructors are called.
|
246
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const key_type &,Disposer)
|
509
247
|
template<class Disposer>
|
510
|
-
size_type erase_and_dispose(
|
511
|
-
{ return table_.erase_and_dispose(value, disposer); }
|
248
|
+
size_type erase_and_dispose(const key_type &key, Disposer disposer);
|
512
249
|
|
513
|
-
//!
|
514
|
-
|
515
|
-
|
516
|
-
//! according to the comparison functor "equal_func".
|
517
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
518
|
-
//!
|
519
|
-
//! <b>Returns</b>: The number of erased elements.
|
520
|
-
//!
|
521
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
522
|
-
//! Worst case O(this->size()).
|
523
|
-
//!
|
524
|
-
//! <b>Throws</b>: If hash_func or equal_func throw. Basic guarantee.
|
525
|
-
//!
|
526
|
-
//! <b>Note</b>: Invalidates the iterators
|
527
|
-
//! to the erased elements.
|
528
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual, class Disposer>
|
529
|
-
size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func, Disposer disposer)
|
530
|
-
{ return table_.erase_and_dispose(key, hash_func, equal_func, disposer); }
|
250
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const KeyType&,KeyHasher,KeyEqual,Disposer)
|
251
|
+
template<class KeyType, class KeyHasher, class KeyEqual, class Disposer>
|
252
|
+
size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func, Disposer disposer);
|
531
253
|
|
532
|
-
//!
|
533
|
-
|
534
|
-
//! <b>Complexity</b>: Linear to the number of elements on the container.
|
535
|
-
//! if it's a safe-mode or auto-unlink value_type. Constant time otherwise.
|
536
|
-
//!
|
537
|
-
//! <b>Throws</b>: Nothing.
|
538
|
-
//!
|
539
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
540
|
-
//! to the erased elements. No destructors are called.
|
541
|
-
void clear()
|
542
|
-
{ return table_.clear(); }
|
254
|
+
//! @copydoc ::boost::intrusive::hashtable::clear
|
255
|
+
void clear();
|
543
256
|
|
544
|
-
//!
|
545
|
-
//!
|
546
|
-
//! <b>Effects</b>: Erases all of the elements.
|
547
|
-
//!
|
548
|
-
//! <b>Complexity</b>: Linear to the number of elements on the container.
|
549
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
550
|
-
//!
|
551
|
-
//! <b>Throws</b>: Nothing.
|
552
|
-
//!
|
553
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
554
|
-
//! to the erased elements. No destructors are called.
|
257
|
+
//! @copydoc ::boost::intrusive::hashtable::clear_and_dispose
|
555
258
|
template<class Disposer>
|
556
|
-
void clear_and_dispose(Disposer disposer)
|
557
|
-
{ return table_.clear_and_dispose(disposer); }
|
259
|
+
void clear_and_dispose(Disposer disposer);
|
558
260
|
|
559
|
-
//!
|
560
|
-
|
561
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
562
|
-
//!
|
563
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
564
|
-
size_type count(const_reference value) const
|
565
|
-
{ return table_.find(value) != end(); }
|
261
|
+
//! @copydoc ::boost::intrusive::hashtable::count(const key_type &)const
|
262
|
+
size_type count(const key_type &key) const;
|
566
263
|
|
567
|
-
//!
|
568
|
-
|
569
|
-
|
570
|
-
//!
|
571
|
-
//! "equal_func" must be a equality function that induces
|
572
|
-
//! the same equality as key_equal. The difference is that
|
573
|
-
//! "equal_func" compares an arbitrary key with the contained values.
|
574
|
-
//!
|
575
|
-
//! <b>Effects</b>: Returns the number of contained elements with the given key
|
576
|
-
//!
|
577
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
578
|
-
//!
|
579
|
-
//! <b>Throws</b>: If hash_func or equal_func throw.
|
580
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
581
|
-
size_type count(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const
|
582
|
-
{ return table_.find(key, hash_func, equal_func) != end(); }
|
264
|
+
//! @copydoc ::boost::intrusive::hashtable::count(const KeyType&,KeyHasher,KeyEqual)const
|
265
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
266
|
+
size_type count(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func) const;
|
583
267
|
|
584
|
-
//!
|
585
|
-
|
586
|
-
//!
|
587
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
588
|
-
//!
|
589
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
590
|
-
iterator find(const_reference value)
|
591
|
-
{ return table_.find(value); }
|
268
|
+
//! @copydoc ::boost::intrusive::hashtable::find(const key_type &)
|
269
|
+
iterator find(const key_type &key);
|
592
270
|
|
593
|
-
//!
|
594
|
-
|
595
|
-
|
596
|
-
//!
|
597
|
-
//! "equal_func" must be a equality function that induces
|
598
|
-
//! the same equality as key_equal. The difference is that
|
599
|
-
//! "equal_func" compares an arbitrary key with the contained values.
|
600
|
-
//!
|
601
|
-
//! <b>Effects</b>: Finds an iterator to the first element whose key is
|
602
|
-
//! "key" according to the given hasher and equality functor or end() if
|
603
|
-
//! that element does not exist.
|
604
|
-
//!
|
605
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
606
|
-
//!
|
607
|
-
//! <b>Throws</b>: If hash_func or equal_func throw.
|
608
|
-
//!
|
609
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
610
|
-
//! is expensive and the value_type can be compared with a cheaper
|
611
|
-
//! key type. Usually this key is part of the value_type.
|
612
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
613
|
-
iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func)
|
614
|
-
{ return table_.find(key, hash_func, equal_func); }
|
615
|
-
|
616
|
-
//! <b>Effects</b>: Finds a const_iterator to the first element whose key is
|
617
|
-
//! "key" or end() if that element does not exist.
|
618
|
-
//!
|
619
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
620
|
-
//!
|
621
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
622
|
-
const_iterator find(const_reference value) const
|
623
|
-
{ return table_.find(value); }
|
271
|
+
//! @copydoc ::boost::intrusive::hashtable::find(const KeyType &,KeyHasher,KeyEqual)
|
272
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
273
|
+
iterator find(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func);
|
624
274
|
|
625
|
-
//!
|
626
|
-
|
627
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
628
|
-
//!
|
629
|
-
//! "equal_func" must be a equality function that induces
|
630
|
-
//! the same equality as key_equal. The difference is that
|
631
|
-
//! "equal_func" compares an arbitrary key with the contained values.
|
632
|
-
//!
|
633
|
-
//! <b>Effects</b>: Finds an iterator to the first element whose key is
|
634
|
-
//! "key" according to the given hasher and equality functor or end() if
|
635
|
-
//! that element does not exist.
|
636
|
-
//!
|
637
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
638
|
-
//!
|
639
|
-
//! <b>Throws</b>: If hash_func or equal_func throw.
|
640
|
-
//!
|
641
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
642
|
-
//! is expensive and the value_type can be compared with a cheaper
|
643
|
-
//! key type. Usually this key is part of the value_type.
|
644
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
645
|
-
const_iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const
|
646
|
-
{ return table_.find(key, hash_func, equal_func); }
|
647
|
-
|
648
|
-
//! <b>Effects</b>: Returns a range containing all elements with values equivalent
|
649
|
-
//! to value. Returns std::make_pair(this->end(), this->end()) if no such
|
650
|
-
//! elements exist.
|
651
|
-
//!
|
652
|
-
//! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
|
653
|
-
//!
|
654
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
655
|
-
std::pair<iterator,iterator> equal_range(const_reference value)
|
656
|
-
{ return table_.equal_range(value); }
|
275
|
+
//! @copydoc ::boost::intrusive::hashtable::count(const key_type &)const
|
276
|
+
const_iterator find(const key_type &key) const;
|
657
277
|
|
658
|
-
//!
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
//!
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
//!
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
//!
|
673
|
-
//! <b>Throws</b>: If hash_func or the equal_func throw.
|
674
|
-
//!
|
675
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
676
|
-
//! is expensive and the value_type can be compared with a cheaper
|
677
|
-
//! key type. Usually this key is part of the value_type.
|
678
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
679
|
-
std::pair<iterator,iterator> equal_range(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func)
|
680
|
-
{ return table_.equal_range(key, hash_func, equal_func); }
|
681
|
-
|
682
|
-
//! <b>Effects</b>: Returns a range containing all elements with values equivalent
|
683
|
-
//! to value. Returns std::make_pair(this->end(), this->end()) if no such
|
684
|
-
//! elements exist.
|
685
|
-
//!
|
686
|
-
//! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
|
687
|
-
//!
|
688
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
278
|
+
//! @copydoc ::boost::intrusive::hashtable::find(const KeyType &,KeyHasher,KeyEqual)const
|
279
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
280
|
+
const_iterator find(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func) const;
|
281
|
+
#endif
|
282
|
+
|
283
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const key_type&)
|
284
|
+
std::pair<iterator,iterator> equal_range(const key_type &key)
|
285
|
+
{ return this->equal_range(key, this->hash_function(), this->key_eq()); }
|
286
|
+
|
287
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const KeyType &,KeyHasher,KeyEqual)
|
288
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
289
|
+
std::pair<iterator,iterator> equal_range(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func)
|
290
|
+
{ return this->priv_equal_range<iterator>(*this, key, hash_func, equal_func); }
|
291
|
+
|
292
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const key_type&)const
|
689
293
|
std::pair<const_iterator, const_iterator>
|
690
|
-
equal_range(
|
691
|
-
{ return
|
294
|
+
equal_range(const key_type &key) const
|
295
|
+
{ return this->equal_range(key, this->hash_function(), this->key_eq()); }
|
692
296
|
|
693
|
-
//!
|
694
|
-
|
695
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
696
|
-
//!
|
697
|
-
//! "equal_func" must be a equality function that induces
|
698
|
-
//! the same equality as key_equal. The difference is that
|
699
|
-
//! "equal_func" compares an arbitrary key with the contained values.
|
700
|
-
//!
|
701
|
-
//! <b>Effects</b>: Returns a range containing all elements with equivalent
|
702
|
-
//! keys. Returns std::make_pair(this->end(), this->end()) if no such
|
703
|
-
//! elements exist.
|
704
|
-
//!
|
705
|
-
//! <b>Complexity</b>: Average case O(this->count(key, hash_func, equal_func)).
|
706
|
-
//! Worst case O(this->size()).
|
707
|
-
//!
|
708
|
-
//! <b>Throws</b>: If the hash_func or equal_func throw.
|
709
|
-
//!
|
710
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
711
|
-
//! is expensive and the value_type can be compared with a cheaper
|
712
|
-
//! key type. Usually this key is part of the value_type.
|
713
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
297
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const KeyType &,KeyHasher,KeyEqual)const
|
298
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
714
299
|
std::pair<const_iterator, const_iterator>
|
715
|
-
equal_range(const KeyType& key, KeyHasher hash_func,
|
716
|
-
{ return
|
300
|
+
equal_range(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func) const
|
301
|
+
{ return this->priv_equal_range<const_iterator>(*this, key, hash_func, equal_func); }
|
717
302
|
|
718
|
-
|
719
|
-
//!
|
720
|
-
|
721
|
-
//! <b>Effects</b>: Returns: a valid iterator belonging to the unordered_set
|
722
|
-
//! that points to the value
|
723
|
-
//!
|
724
|
-
//! <b>Complexity</b>: Constant.
|
725
|
-
//!
|
726
|
-
//! <b>Throws</b>: If the internal hash function throws.
|
727
|
-
iterator iterator_to(reference value)
|
728
|
-
{ return table_.iterator_to(value); }
|
303
|
+
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
304
|
+
//! @copydoc ::boost::intrusive::hashtable::iterator_to(reference)
|
305
|
+
iterator iterator_to(reference value);
|
729
306
|
|
730
|
-
//!
|
731
|
-
|
732
|
-
//!
|
733
|
-
//! <b>Effects</b>: Returns: a valid const_iterator belonging to the
|
734
|
-
//! unordered_set that points to the value
|
735
|
-
//!
|
736
|
-
//! <b>Complexity</b>: Constant.
|
737
|
-
//!
|
738
|
-
//! <b>Throws</b>: If the internal hash function throws.
|
739
|
-
const_iterator iterator_to(const_reference value) const
|
740
|
-
{ return table_.iterator_to(value); }
|
307
|
+
//! @copydoc ::boost::intrusive::hashtable::iterator_to(const_reference)const
|
308
|
+
const_iterator iterator_to(const_reference value) const;
|
741
309
|
|
742
|
-
//!
|
743
|
-
|
744
|
-
//!
|
745
|
-
//! <b>Effects</b>: Returns: a valid local_iterator belonging to the unordered_set
|
746
|
-
//! that points to the value
|
747
|
-
//!
|
748
|
-
//! <b>Complexity</b>: Constant.
|
749
|
-
//!
|
750
|
-
//! <b>Throws</b>: Nothing.
|
751
|
-
//!
|
752
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
753
|
-
//! is stateless.
|
754
|
-
static local_iterator s_local_iterator_to(reference value)
|
755
|
-
{ return table_type::s_local_iterator_to(value); }
|
310
|
+
//! @copydoc ::boost::intrusive::hashtable::s_local_iterator_to(reference)
|
311
|
+
static local_iterator s_local_iterator_to(reference value);
|
756
312
|
|
757
|
-
//!
|
758
|
-
|
759
|
-
//!
|
760
|
-
//! <b>Effects</b>: Returns: a valid const_local_iterator belonging to
|
761
|
-
//! the unordered_set that points to the value
|
762
|
-
//!
|
763
|
-
//! <b>Complexity</b>: Constant.
|
764
|
-
//!
|
765
|
-
//! <b>Throws</b>: Nothing.
|
766
|
-
//!
|
767
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
768
|
-
//! is stateless.
|
769
|
-
static const_local_iterator s_local_iterator_to(const_reference value)
|
770
|
-
{ return table_type::s_local_iterator_to(value); }
|
313
|
+
//! @copydoc ::boost::intrusive::hashtable::s_local_iterator_to(const_reference)
|
314
|
+
static const_local_iterator s_local_iterator_to(const_reference value);
|
771
315
|
|
772
|
-
//!
|
773
|
-
|
774
|
-
//!
|
775
|
-
//! <b>Effects</b>: Returns: a valid local_iterator belonging to the unordered_set
|
776
|
-
//! that points to the value
|
777
|
-
//!
|
778
|
-
//! <b>Complexity</b>: Constant.
|
779
|
-
//!
|
780
|
-
//! <b>Throws</b>: Nothing.
|
781
|
-
local_iterator local_iterator_to(reference value)
|
782
|
-
{ return table_.local_iterator_to(value); }
|
316
|
+
//! @copydoc ::boost::intrusive::hashtable::local_iterator_to(reference)
|
317
|
+
local_iterator local_iterator_to(reference value);
|
783
318
|
|
784
|
-
//!
|
785
|
-
|
786
|
-
//!
|
787
|
-
//! <b>Effects</b>: Returns: a valid const_local_iterator belonging to
|
788
|
-
//! the unordered_set that points to the value
|
789
|
-
//!
|
790
|
-
//! <b>Complexity</b>: Constant.
|
791
|
-
//!
|
792
|
-
//! <b>Throws</b>: Nothing.
|
793
|
-
const_local_iterator local_iterator_to(const_reference value) const
|
794
|
-
{ return table_.local_iterator_to(value); }
|
319
|
+
//! @copydoc ::boost::intrusive::hashtable::local_iterator_to(const_reference)
|
320
|
+
const_local_iterator local_iterator_to(const_reference value) const;
|
795
321
|
|
796
|
-
//!
|
797
|
-
|
798
|
-
//!
|
799
|
-
//! <b>Complexity</b>: Constant.
|
800
|
-
//!
|
801
|
-
//! <b>Throws</b>: Nothing.
|
802
|
-
size_type bucket_count() const
|
803
|
-
{ return table_.bucket_count(); }
|
322
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket_count
|
323
|
+
size_type bucket_count() const;
|
804
324
|
|
805
|
-
//!
|
806
|
-
|
807
|
-
//! <b>Effects</b>: Returns the number of elements in the nth bucket.
|
808
|
-
//!
|
809
|
-
//! <b>Complexity</b>: Constant.
|
810
|
-
//!
|
811
|
-
//! <b>Throws</b>: Nothing.
|
812
|
-
size_type bucket_size(size_type n) const
|
813
|
-
{ return table_.bucket_size(n); }
|
325
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket_size
|
326
|
+
size_type bucket_size(size_type n) const;
|
814
327
|
|
815
|
-
//!
|
816
|
-
|
817
|
-
//!
|
818
|
-
//! <b>Complexity</b>: Constant.
|
819
|
-
//!
|
820
|
-
//! <b>Throws</b>: If the hash functor throws.
|
821
|
-
//!
|
822
|
-
//! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
|
823
|
-
size_type bucket(const value_type& k) const
|
824
|
-
{ return table_.bucket(k); }
|
328
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket(const key_type&)const
|
329
|
+
size_type bucket(const key_type& k) const;
|
825
330
|
|
826
|
-
//!
|
827
|
-
//! the same hash values as the stored hasher. The difference is that
|
828
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
829
|
-
//!
|
830
|
-
//! <b>Effects</b>: Returns the index of the bucket in which elements
|
831
|
-
//! with keys equivalent to k would be found, if any such element existed.
|
832
|
-
//!
|
833
|
-
//! <b>Complexity</b>: Constant.
|
834
|
-
//!
|
835
|
-
//! <b>Throws</b>: If hash_func throws.
|
836
|
-
//!
|
837
|
-
//! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
|
331
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket(const KeyType&,KeyHasher)const
|
838
332
|
template<class KeyType, class KeyHasher>
|
839
|
-
size_type bucket(const KeyType& k, KeyHasher hash_func) const
|
840
|
-
{ return table_.bucket(k, hash_func); }
|
333
|
+
size_type bucket(const KeyType& k, KeyHasher hash_func) const;
|
841
334
|
|
842
|
-
//!
|
843
|
-
|
844
|
-
//!
|
845
|
-
//! <b>Complexity</b>: Constant.
|
846
|
-
//!
|
847
|
-
//! <b>Throws</b>: Nothing.
|
848
|
-
bucket_ptr bucket_pointer() const
|
849
|
-
{ return table_.bucket_pointer(); }
|
335
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket_pointer
|
336
|
+
bucket_ptr bucket_pointer() const;
|
850
337
|
|
851
|
-
//!
|
852
|
-
|
853
|
-
//! <b>Effects</b>: Returns a local_iterator pointing to the beginning
|
854
|
-
//! of the sequence stored in the bucket n.
|
855
|
-
//!
|
856
|
-
//! <b>Complexity</b>: Constant.
|
857
|
-
//!
|
858
|
-
//! <b>Throws</b>: Nothing.
|
859
|
-
//!
|
860
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
861
|
-
//! containing all of the elements in the nth bucket.
|
862
|
-
local_iterator begin(size_type n)
|
863
|
-
{ return table_.begin(n); }
|
338
|
+
//! @copydoc ::boost::intrusive::hashtable::begin(size_type)
|
339
|
+
local_iterator begin(size_type n);
|
864
340
|
|
865
|
-
//!
|
866
|
-
|
867
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the beginning
|
868
|
-
//! of the sequence stored in the bucket n.
|
869
|
-
//!
|
870
|
-
//! <b>Complexity</b>: Constant.
|
871
|
-
//!
|
872
|
-
//! <b>Throws</b>: Nothing.
|
873
|
-
//!
|
874
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
875
|
-
//! containing all of the elements in the nth bucket.
|
876
|
-
const_local_iterator begin(size_type n) const
|
877
|
-
{ return table_.begin(n); }
|
341
|
+
//! @copydoc ::boost::intrusive::hashtable::begin(size_type)const
|
342
|
+
const_local_iterator begin(size_type n) const;
|
878
343
|
|
879
|
-
//!
|
880
|
-
|
881
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the beginning
|
882
|
-
//! of the sequence stored in the bucket n.
|
883
|
-
//!
|
884
|
-
//! <b>Complexity</b>: Constant.
|
885
|
-
//!
|
886
|
-
//! <b>Throws</b>: Nothing.
|
887
|
-
//!
|
888
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
889
|
-
//! containing all of the elements in the nth bucket.
|
890
|
-
const_local_iterator cbegin(size_type n) const
|
891
|
-
{ return table_.cbegin(n); }
|
344
|
+
//! @copydoc ::boost::intrusive::hashtable::cbegin(size_type)const
|
345
|
+
const_local_iterator cbegin(size_type n) const;
|
892
346
|
|
893
|
-
//!
|
894
|
-
|
895
|
-
//! <b>Effects</b>: Returns a local_iterator pointing to the end
|
896
|
-
//! of the sequence stored in the bucket n.
|
897
|
-
//!
|
898
|
-
//! <b>Complexity</b>: Constant.
|
899
|
-
//!
|
900
|
-
//! <b>Throws</b>: Nothing.
|
901
|
-
//!
|
902
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
903
|
-
//! containing all of the elements in the nth bucket.
|
904
|
-
local_iterator end(size_type n)
|
905
|
-
{ return table_.end(n); }
|
347
|
+
//! @copydoc ::boost::intrusive::hashtable::end(size_type)
|
348
|
+
local_iterator end(size_type n);
|
906
349
|
|
907
|
-
//!
|
908
|
-
|
909
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the end
|
910
|
-
//! of the sequence stored in the bucket n.
|
911
|
-
//!
|
912
|
-
//! <b>Complexity</b>: Constant.
|
913
|
-
//!
|
914
|
-
//! <b>Throws</b>: Nothing.
|
915
|
-
//!
|
916
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
917
|
-
//! containing all of the elements in the nth bucket.
|
918
|
-
const_local_iterator end(size_type n) const
|
919
|
-
{ return table_.end(n); }
|
350
|
+
//! @copydoc ::boost::intrusive::hashtable::end(size_type)const
|
351
|
+
const_local_iterator end(size_type n) const;
|
920
352
|
|
921
|
-
//!
|
922
|
-
|
923
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the end
|
924
|
-
//! of the sequence stored in the bucket n.
|
925
|
-
//!
|
926
|
-
//! <b>Complexity</b>: Constant.
|
927
|
-
//!
|
928
|
-
//! <b>Throws</b>: Nothing.
|
929
|
-
//!
|
930
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
931
|
-
//! containing all of the elements in the nth bucket.
|
932
|
-
const_local_iterator cend(size_type n) const
|
933
|
-
{ return table_.cend(n); }
|
934
|
-
|
935
|
-
//! <b>Requires</b>: new_buckets must be a pointer to a new bucket array
|
936
|
-
//! or the same as the old bucket array. new_size is the length of the
|
937
|
-
//! the array pointed by new_buckets. If new_buckets == this->bucket_pointer()
|
938
|
-
//! n can be bigger or smaller than this->bucket_count().
|
939
|
-
//!
|
940
|
-
//! <b>Effects</b>: Updates the internal reference with the new bucket erases
|
941
|
-
//! the values from the old bucket and inserts then in the new one.
|
942
|
-
//!
|
943
|
-
//! If store_hash option is true, this method does not use the hash function.
|
944
|
-
//!
|
945
|
-
//! <b>Complexity</b>: Average case linear in this->size(), worst case quadratic.
|
946
|
-
//!
|
947
|
-
//! <b>Throws</b>: If the hasher functor throws. Basic guarantee.
|
948
|
-
void rehash(const bucket_traits &new_bucket_traits)
|
949
|
-
{ table_.rehash(new_bucket_traits); }
|
353
|
+
//! @copydoc ::boost::intrusive::hashtable::cend(size_type)const
|
354
|
+
const_local_iterator cend(size_type n) const;
|
950
355
|
|
951
|
-
//!
|
952
|
-
|
953
|
-
//! <b>Effects</b>:
|
954
|
-
//!
|
955
|
-
//! <b>Complexity</b>:
|
956
|
-
//!
|
957
|
-
//! <b>Throws</b>:
|
958
|
-
//!
|
959
|
-
//! <b>Note</b>: this method is only available if incremental<true> option is activated.
|
960
|
-
bool incremental_rehash(bool grow = true)
|
961
|
-
{ return table_.incremental_rehash(grow); }
|
356
|
+
//! @copydoc ::boost::intrusive::hashtable::rehash(const bucket_traits &)
|
357
|
+
void rehash(const bucket_traits &new_bucket_traits);
|
962
358
|
|
963
|
-
//!
|
964
|
-
bool incremental_rehash(
|
965
|
-
{ return table_.incremental_rehash(new_bucket_traits); }
|
359
|
+
//! @copydoc ::boost::intrusive::hashtable::incremental_rehash(bool)
|
360
|
+
bool incremental_rehash(bool grow = true);
|
966
361
|
|
967
|
-
//!
|
968
|
-
|
969
|
-
|
970
|
-
//!
|
971
|
-
|
972
|
-
|
973
|
-
//!
|
974
|
-
size_type
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
{ return
|
362
|
+
//! @copydoc ::boost::intrusive::hashtable::incremental_rehash(const bucket_traits &)
|
363
|
+
bool incremental_rehash(const bucket_traits &new_bucket_traits);
|
364
|
+
|
365
|
+
//! @copydoc ::boost::intrusive::hashtable::split_count
|
366
|
+
size_type split_count() const;
|
367
|
+
|
368
|
+
//! @copydoc ::boost::intrusive::hashtable::suggested_upper_bucket_count
|
369
|
+
static size_type suggested_upper_bucket_count(size_type n);
|
370
|
+
|
371
|
+
//! @copydoc ::boost::intrusive::hashtable::suggested_lower_bucket_count
|
372
|
+
static size_type suggested_lower_bucket_count(size_type n);
|
373
|
+
|
374
|
+
#endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
375
|
+
|
376
|
+
friend bool operator==(const unordered_set_impl &x, const unordered_set_impl &y)
|
377
|
+
{
|
378
|
+
if(table_type::constant_time_size && x.size() != y.size()){
|
379
|
+
return false;
|
380
|
+
}
|
381
|
+
//Find each element of x in y
|
382
|
+
for (const_iterator ix = x.cbegin(), ex = x.cend(), ey = y.cend(); ix != ex; ++ix){
|
383
|
+
const_iterator iy = y.find(key_of_value()(*ix));
|
384
|
+
if (iy == ey || !(*ix == *iy))
|
385
|
+
return false;
|
386
|
+
}
|
387
|
+
return true;
|
388
|
+
}
|
389
|
+
|
390
|
+
friend bool operator!=(const unordered_set_impl &x, const unordered_set_impl &y)
|
391
|
+
{ return !(x == y); }
|
392
|
+
|
393
|
+
friend bool operator<(const unordered_set_impl &x, const unordered_set_impl &y)
|
394
|
+
{ return ::boost::intrusive::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
395
|
+
|
396
|
+
friend bool operator>(const unordered_set_impl &x, const unordered_set_impl &y)
|
397
|
+
{ return y < x; }
|
398
|
+
|
399
|
+
friend bool operator<=(const unordered_set_impl &x, const unordered_set_impl &y)
|
400
|
+
{ return !(y < x); }
|
401
|
+
|
402
|
+
friend bool operator>=(const unordered_set_impl &x, const unordered_set_impl &y)
|
403
|
+
{ return !(x < y); }
|
1000
404
|
};
|
1001
405
|
|
1002
406
|
//! Helper metafunction to define an \c unordered_set that yields to the same type when the
|
@@ -1004,26 +408,46 @@ class unordered_set_impl
|
|
1004
408
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1005
409
|
template<class T, class ...Options>
|
1006
410
|
#else
|
1007
|
-
template<class T, class O1 =
|
1008
|
-
, class O3 =
|
1009
|
-
, class O5 =
|
1010
|
-
, class O7 =
|
1011
|
-
, class O9 =
|
411
|
+
template<class T, class O1 = void, class O2 = void
|
412
|
+
, class O3 = void, class O4 = void
|
413
|
+
, class O5 = void, class O6 = void
|
414
|
+
, class O7 = void, class O8 = void
|
415
|
+
, class O9 = void, class O10= void
|
1012
416
|
>
|
1013
417
|
#endif
|
1014
418
|
struct make_unordered_set
|
1015
419
|
{
|
1016
420
|
/// @cond
|
421
|
+
typedef typename pack_options
|
422
|
+
< hashtable_defaults,
|
423
|
+
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
424
|
+
O1, O2, O3, O4, O5, O6, O7, O8, O9, O10
|
425
|
+
#else
|
426
|
+
Options...
|
427
|
+
#endif
|
428
|
+
>::type packed_options;
|
429
|
+
|
430
|
+
typedef typename detail::get_value_traits
|
431
|
+
<T, typename packed_options::proto_value_traits>::type value_traits;
|
432
|
+
|
433
|
+
typedef typename make_bucket_traits
|
434
|
+
<T, true, packed_options>::type bucket_traits;
|
435
|
+
|
1017
436
|
typedef unordered_set_impl
|
1018
|
-
<
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
437
|
+
< value_traits
|
438
|
+
, typename packed_options::key_of_value
|
439
|
+
, typename packed_options::hash
|
440
|
+
, typename packed_options::equal
|
441
|
+
, typename packed_options::size_type
|
442
|
+
, bucket_traits
|
443
|
+
, (std::size_t(true)*hash_bool_flags::unique_keys_pos)
|
444
|
+
| (std::size_t(packed_options::constant_time_size)*hash_bool_flags::constant_time_size_pos)
|
445
|
+
| (std::size_t(packed_options::power_2_buckets)*hash_bool_flags::power_2_buckets_pos)
|
446
|
+
| (std::size_t(packed_options::cache_begin)*hash_bool_flags::cache_begin_pos)
|
447
|
+
| (std::size_t(packed_options::compare_hash)*hash_bool_flags::compare_hash_pos)
|
448
|
+
| (std::size_t(packed_options::incremental)*hash_bool_flags::incremental_pos)
|
1026
449
|
> implementation_defined;
|
450
|
+
|
1027
451
|
/// @endcond
|
1028
452
|
typedef implementation_defined type;
|
1029
453
|
};
|
@@ -1067,10 +491,10 @@ class unordered_set
|
|
1067
491
|
typedef typename Base::hasher hasher;
|
1068
492
|
typedef typename Base::key_equal key_equal;
|
1069
493
|
|
1070
|
-
unordered_set ( const bucket_traits &b_traits
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
494
|
+
explicit unordered_set ( const bucket_traits &b_traits
|
495
|
+
, const hasher & hash_func = hasher()
|
496
|
+
, const key_equal &equal_func = key_equal()
|
497
|
+
, const value_traits &v_traits = value_traits())
|
1074
498
|
: Base(b_traits, hash_func, equal_func, v_traits)
|
1075
499
|
{}
|
1076
500
|
|
@@ -1085,11 +509,19 @@ class unordered_set
|
|
1085
509
|
{}
|
1086
510
|
|
1087
511
|
unordered_set(BOOST_RV_REF(unordered_set) x)
|
1088
|
-
: Base(
|
512
|
+
: Base(BOOST_MOVE_BASE(Base, x))
|
1089
513
|
{}
|
1090
514
|
|
1091
515
|
unordered_set& operator=(BOOST_RV_REF(unordered_set) x)
|
1092
|
-
{ this->Base::operator=(
|
516
|
+
{ return static_cast<unordered_set&>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
|
517
|
+
|
518
|
+
template <class Cloner, class Disposer>
|
519
|
+
void clone_from(const unordered_set &src, Cloner cloner, Disposer disposer)
|
520
|
+
{ Base::clone_from(src, cloner, disposer); }
|
521
|
+
|
522
|
+
template <class Cloner, class Disposer>
|
523
|
+
void clone_from(BOOST_RV_REF(unordered_set) src, Cloner cloner, Disposer disposer)
|
524
|
+
{ Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
|
1093
525
|
};
|
1094
526
|
|
1095
527
|
#endif
|
@@ -1133,13 +565,14 @@ class unordered_set
|
|
1133
565
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1134
566
|
template<class T, class ...Options>
|
1135
567
|
#else
|
1136
|
-
template<class
|
568
|
+
template<class ValueTraits, class VoidOrKeyOfValue, class VoidOrKeyHash, class VoidOrKeyEqual, class SizeType, class BucketTraits, std::size_t BoolFlags>
|
1137
569
|
#endif
|
1138
570
|
class unordered_multiset_impl
|
571
|
+
: public hashtable_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrKeyEqual, BucketTraits, SizeType, BoolFlags>
|
1139
572
|
{
|
1140
573
|
/// @cond
|
1141
574
|
private:
|
1142
|
-
typedef hashtable_impl<
|
575
|
+
typedef hashtable_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrKeyEqual, BucketTraits, SizeType, BoolFlags> table_type;
|
1143
576
|
/// @endcond
|
1144
577
|
|
1145
578
|
//Movable
|
@@ -1149,6 +582,7 @@ class unordered_multiset_impl
|
|
1149
582
|
|
1150
583
|
public:
|
1151
584
|
typedef typename implementation_defined::value_type value_type;
|
585
|
+
typedef typename implementation_defined::key_type key_type;
|
1152
586
|
typedef typename implementation_defined::value_traits value_traits;
|
1153
587
|
typedef typename implementation_defined::bucket_traits bucket_traits;
|
1154
588
|
typedef typename implementation_defined::pointer pointer;
|
@@ -1157,7 +591,6 @@ class unordered_multiset_impl
|
|
1157
591
|
typedef typename implementation_defined::const_reference const_reference;
|
1158
592
|
typedef typename implementation_defined::difference_type difference_type;
|
1159
593
|
typedef typename implementation_defined::size_type size_type;
|
1160
|
-
typedef typename implementation_defined::key_type key_type;
|
1161
594
|
typedef typename implementation_defined::key_equal key_equal;
|
1162
595
|
typedef typename implementation_defined::hasher hasher;
|
1163
596
|
typedef typename implementation_defined::bucket_type bucket_type;
|
@@ -1173,48 +606,17 @@ class unordered_multiset_impl
|
|
1173
606
|
typedef typename implementation_defined::const_node_ptr const_node_ptr;
|
1174
607
|
typedef typename implementation_defined::node_algorithms node_algorithms;
|
1175
608
|
|
1176
|
-
/// @cond
|
1177
|
-
private:
|
1178
|
-
table_type table_;
|
1179
|
-
/// @endcond
|
1180
|
-
|
1181
609
|
public:
|
1182
610
|
|
1183
|
-
//!
|
1184
|
-
//!
|
1185
|
-
//! <b>Effects</b>: Constructs an empty unordered_multiset, storing a reference
|
1186
|
-
//! to the bucket array and copies of the hasher and equal functors.
|
1187
|
-
//!
|
1188
|
-
//! <b>Complexity</b>: Constant.
|
1189
|
-
//!
|
1190
|
-
//! <b>Throws</b>: If value_traits::node_traits::node
|
1191
|
-
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
1192
|
-
//! or the copy constructor or invocation of Hash or Equal throws.
|
1193
|
-
//!
|
1194
|
-
//! <b>Notes</b>: buckets array must be disposed only after
|
1195
|
-
//! *this is disposed.
|
611
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable(const bucket_traits &,const hasher &,const key_equal &,const value_traits &)
|
1196
612
|
explicit unordered_multiset_impl ( const bucket_traits &b_traits
|
1197
613
|
, const hasher & hash_func = hasher()
|
1198
614
|
, const key_equal &equal_func = key_equal()
|
1199
615
|
, const value_traits &v_traits = value_traits())
|
1200
|
-
:
|
616
|
+
: table_type(b_traits, hash_func, equal_func, v_traits)
|
1201
617
|
{}
|
1202
618
|
|
1203
|
-
//!
|
1204
|
-
//! and Dereferencing iterator must yield an lvalue of type value_type.
|
1205
|
-
//!
|
1206
|
-
//! <b>Effects</b>: Constructs an empty unordered_multiset and inserts elements from
|
1207
|
-
//! [b, e).
|
1208
|
-
//!
|
1209
|
-
//! <b>Complexity</b>: If N is std::distance(b, e): Average case is O(N)
|
1210
|
-
//! (with a good hash function and with buckets_len >= N),worst case O(N2).
|
1211
|
-
//!
|
1212
|
-
//! <b>Throws</b>: If value_traits::node_traits::node
|
1213
|
-
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
1214
|
-
//! or the copy constructor or invocation of hasher or key_equal throws.
|
1215
|
-
//!
|
1216
|
-
//! <b>Notes</b>: buckets array must be disposed only after
|
1217
|
-
//! *this is disposed.
|
619
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable(bool,Iterator,Iterator,const bucket_traits &,const hasher &,const key_equal &,const value_traits &)
|
1218
620
|
template<class Iterator>
|
1219
621
|
unordered_multiset_impl ( Iterator b
|
1220
622
|
, Iterator e
|
@@ -1222,795 +624,230 @@ class unordered_multiset_impl
|
|
1222
624
|
, const hasher & hash_func = hasher()
|
1223
625
|
, const key_equal &equal_func = key_equal()
|
1224
626
|
, const value_traits &v_traits = value_traits())
|
1225
|
-
:
|
1226
|
-
{
|
627
|
+
: table_type(false, b, e, b_traits, hash_func, equal_func, v_traits)
|
628
|
+
{}
|
1227
629
|
|
1228
630
|
//! <b>Effects</b>: to-do
|
1229
631
|
//!
|
1230
632
|
unordered_multiset_impl(BOOST_RV_REF(unordered_multiset_impl) x)
|
1231
|
-
:
|
633
|
+
: table_type(BOOST_MOVE_BASE(table_type, x))
|
1232
634
|
{}
|
1233
635
|
|
1234
636
|
//! <b>Effects</b>: to-do
|
1235
637
|
//!
|
1236
638
|
unordered_multiset_impl& operator=(BOOST_RV_REF(unordered_multiset_impl) x)
|
1237
|
-
{
|
639
|
+
{ return static_cast<unordered_multiset_impl&>(table_type::operator=(BOOST_MOVE_BASE(table_type, x))); }
|
1238
640
|
|
1239
|
-
|
1240
|
-
//! are not deleted (i.e. no destructors are called).
|
1241
|
-
//!
|
1242
|
-
//! <b>Complexity</b>: Linear to the number of elements in the unordered_multiset, if
|
1243
|
-
//! it's a safe-mode or auto-unlink value. Otherwise constant.
|
1244
|
-
//!
|
1245
|
-
//! <b>Throws</b>: Nothing.
|
1246
|
-
~unordered_multiset_impl()
|
1247
|
-
{}
|
641
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
1248
642
|
|
1249
|
-
//!
|
1250
|
-
|
1251
|
-
//! <b>Complexity</b>: Constant time if `cache_begin<>` is true. Amortized
|
1252
|
-
//! constant time with worst case (empty unordered_set) O(this->bucket_count())
|
1253
|
-
//!
|
1254
|
-
//! <b>Throws</b>: Nothing.
|
1255
|
-
iterator begin()
|
1256
|
-
{ return table_.begin(); }
|
643
|
+
//! @copydoc ::boost::intrusive::hashtable::~hashtable()
|
644
|
+
~unordered_multiset_impl();
|
1257
645
|
|
1258
|
-
//!
|
1259
|
-
|
1260
|
-
//!
|
1261
|
-
//! <b>Complexity</b>: Constant time if `cache_begin<>` is true. Amortized
|
1262
|
-
//! constant time with worst case (empty unordered_set) O(this->bucket_count())
|
1263
|
-
//!
|
1264
|
-
//! <b>Throws</b>: Nothing.
|
1265
|
-
const_iterator begin() const
|
1266
|
-
{ return table_.begin(); }
|
646
|
+
//! @copydoc ::boost::intrusive::hashtable::begin()
|
647
|
+
iterator begin();
|
1267
648
|
|
1268
|
-
//!
|
1269
|
-
|
1270
|
-
//!
|
1271
|
-
//! <b>Complexity</b>: Constant time if `cache_begin<>` is true. Amortized
|
1272
|
-
//! constant time with worst case (empty unordered_set) O(this->bucket_count())
|
1273
|
-
//!
|
1274
|
-
//! <b>Throws</b>: Nothing.
|
1275
|
-
const_iterator cbegin() const
|
1276
|
-
{ return table_.cbegin(); }
|
649
|
+
//! @copydoc ::boost::intrusive::hashtable::begin()const
|
650
|
+
const_iterator begin() const;
|
1277
651
|
|
1278
|
-
//!
|
1279
|
-
|
1280
|
-
//! <b>Complexity</b>: Constant.
|
1281
|
-
//!
|
1282
|
-
//! <b>Throws</b>: Nothing.
|
1283
|
-
iterator end()
|
1284
|
-
{ return table_.end(); }
|
652
|
+
//! @copydoc ::boost::intrusive::hashtable::cbegin()const
|
653
|
+
const_iterator cbegin() const;
|
1285
654
|
|
1286
|
-
//!
|
1287
|
-
|
1288
|
-
//! <b>Complexity</b>: Constant.
|
1289
|
-
//!
|
1290
|
-
//! <b>Throws</b>: Nothing.
|
1291
|
-
const_iterator end() const
|
1292
|
-
{ return table_.end(); }
|
655
|
+
//! @copydoc ::boost::intrusive::hashtable::end()
|
656
|
+
iterator end();
|
1293
657
|
|
1294
|
-
//!
|
1295
|
-
|
1296
|
-
//! <b>Complexity</b>: Constant.
|
1297
|
-
//!
|
1298
|
-
//! <b>Throws</b>: Nothing.
|
1299
|
-
const_iterator cend() const
|
1300
|
-
{ return table_.cend(); }
|
658
|
+
//! @copydoc ::boost::intrusive::hashtable::end()const
|
659
|
+
const_iterator end() const;
|
1301
660
|
|
1302
|
-
//!
|
1303
|
-
|
1304
|
-
//! <b>Complexity</b>: Constant.
|
1305
|
-
//!
|
1306
|
-
//! <b>Throws</b>: If hasher copy-constructor throws.
|
1307
|
-
hasher hash_function() const
|
1308
|
-
{ return table_.hash_function(); }
|
661
|
+
//! @copydoc ::boost::intrusive::hashtable::cend()const
|
662
|
+
const_iterator cend() const;
|
1309
663
|
|
1310
|
-
//!
|
1311
|
-
|
1312
|
-
//! <b>Complexity</b>: Constant.
|
1313
|
-
//!
|
1314
|
-
//! <b>Throws</b>: If key_equal copy-constructor throws.
|
1315
|
-
key_equal key_eq() const
|
1316
|
-
{ return table_.key_eq(); }
|
664
|
+
//! @copydoc ::boost::intrusive::hashtable::hash_function()const
|
665
|
+
hasher hash_function() const;
|
1317
666
|
|
1318
|
-
//!
|
1319
|
-
|
1320
|
-
//! <b>Complexity</b>: if constant-time size and cache_last options are disabled,
|
1321
|
-
//! average constant time (worst case, with empty() == true: O(this->bucket_count()).
|
1322
|
-
//! Otherwise constant.
|
1323
|
-
//!
|
1324
|
-
//! <b>Throws</b>: Nothing.
|
1325
|
-
bool empty() const
|
1326
|
-
{ return table_.empty(); }
|
667
|
+
//! @copydoc ::boost::intrusive::hashtable::key_eq()const
|
668
|
+
key_equal key_eq() const;
|
1327
669
|
|
1328
|
-
//!
|
1329
|
-
|
1330
|
-
//! <b>Complexity</b>: Linear to elements contained in *this if
|
1331
|
-
//! constant-time size option is disabled. Constant-time otherwise.
|
1332
|
-
//!
|
1333
|
-
//! <b>Throws</b>: Nothing.
|
1334
|
-
size_type size() const
|
1335
|
-
{ return table_.size(); }
|
670
|
+
//! @copydoc ::boost::intrusive::hashtable::empty()const
|
671
|
+
bool empty() const;
|
1336
672
|
|
1337
|
-
//!
|
1338
|
-
|
1339
|
-
|
1340
|
-
//!
|
1341
|
-
|
1342
|
-
|
1343
|
-
//!
|
1344
|
-
//! <b>Complexity</b>: Constant.
|
1345
|
-
//!
|
1346
|
-
//! <b>Throws</b>: If the swap() call for the comparison or hash functors
|
1347
|
-
//! found using ADL throw. Basic guarantee.
|
1348
|
-
void swap(unordered_multiset_impl& other)
|
1349
|
-
{ table_.swap(other.table_); }
|
1350
|
-
|
1351
|
-
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
1352
|
-
//! Cloner should yield to nodes that compare equal and produce the same
|
1353
|
-
//! hash than the original node.
|
1354
|
-
//!
|
1355
|
-
//! <b>Effects</b>: Erases all the elements from *this
|
1356
|
-
//! calling Disposer::operator()(pointer), clones all the
|
1357
|
-
//! elements from src calling Cloner::operator()(const_reference )
|
1358
|
-
//! and inserts them on *this. The hash function and the equality
|
1359
|
-
//! predicate are copied from the source.
|
1360
|
-
//!
|
1361
|
-
//! If store_hash option is true, this method does not use the hash function.
|
1362
|
-
//!
|
1363
|
-
//! If any operation throws, all cloned elements are unlinked and disposed
|
1364
|
-
//! calling Disposer::operator()(pointer).
|
1365
|
-
//!
|
1366
|
-
//! <b>Complexity</b>: Linear to erased plus inserted elements.
|
1367
|
-
//!
|
1368
|
-
//! <b>Throws</b>: If cloner or hasher throw or hash or equality predicate copying
|
1369
|
-
//! throws. Basic guarantee.
|
673
|
+
//! @copydoc ::boost::intrusive::hashtable::size()const
|
674
|
+
size_type size() const;
|
675
|
+
|
676
|
+
//! @copydoc ::boost::intrusive::hashtable::hashtable
|
677
|
+
void swap(unordered_multiset_impl& other);
|
678
|
+
|
679
|
+
//! @copydoc ::boost::intrusive::hashtable::clone_from(const hashtable&,Cloner,Disposer)
|
1370
680
|
template <class Cloner, class Disposer>
|
1371
|
-
void clone_from(const unordered_multiset_impl &src, Cloner cloner, Disposer disposer)
|
1372
|
-
{ table_.clone_from(src.table_, cloner, disposer); }
|
681
|
+
void clone_from(const unordered_multiset_impl &src, Cloner cloner, Disposer disposer);
|
1373
682
|
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1379
|
-
|
1380
|
-
//!
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1385
|
-
//!
|
683
|
+
#else
|
684
|
+
|
685
|
+
using table_type::clone_from;
|
686
|
+
|
687
|
+
#endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
688
|
+
|
689
|
+
//! @copydoc ::boost::intrusive::hashtable::clone_from(hashtable&&,Cloner,Disposer)
|
690
|
+
template <class Cloner, class Disposer>
|
691
|
+
void clone_from(BOOST_RV_REF(unordered_multiset_impl) src, Cloner cloner, Disposer disposer)
|
692
|
+
{ table_type::clone_from(BOOST_MOVE_BASE(table_type, src), cloner, disposer); }
|
693
|
+
|
694
|
+
//! @copydoc ::boost::intrusive::hashtable::insert_equal(reference)
|
1386
695
|
iterator insert(reference value)
|
1387
|
-
{ return
|
696
|
+
{ return table_type::insert_equal(value); }
|
1388
697
|
|
1389
|
-
//!
|
1390
|
-
//! of type value_type.
|
1391
|
-
//!
|
1392
|
-
//! <b>Effects</b>: Equivalent to this->insert(t) for each element in [b, e).
|
1393
|
-
//!
|
1394
|
-
//! <b>Complexity</b>: Average case is O(N), where N is the
|
1395
|
-
//! size of the range.
|
1396
|
-
//!
|
1397
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Basic guarantee.
|
1398
|
-
//!
|
1399
|
-
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
1400
|
-
//! No copy-constructors are called.
|
698
|
+
//! @copydoc ::boost::intrusive::hashtable::insert_equal(Iterator,Iterator)
|
1401
699
|
template<class Iterator>
|
1402
700
|
void insert(Iterator b, Iterator e)
|
1403
|
-
{
|
701
|
+
{ table_type::insert_equal(b, e); }
|
1404
702
|
|
1405
|
-
|
1406
|
-
//!
|
1407
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1408
|
-
//!
|
1409
|
-
//! <b>Throws</b>: Nothing.
|
1410
|
-
//!
|
1411
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1412
|
-
//! to the erased element. No destructors are called.
|
1413
|
-
void erase(const_iterator i)
|
1414
|
-
{ table_.erase(i); }
|
703
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
1415
704
|
|
1416
|
-
//!
|
1417
|
-
|
1418
|
-
//! <b>Complexity</b>: Average case O(std::distance(b, e)),
|
1419
|
-
//! worst case O(this->size()).
|
1420
|
-
//!
|
1421
|
-
//! <b>Throws</b>: Nothing.
|
1422
|
-
//!
|
1423
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1424
|
-
//! to the erased elements. No destructors are called.
|
1425
|
-
void erase(const_iterator b, const_iterator e)
|
1426
|
-
{ table_.erase(b, e); }
|
705
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const_iterator)
|
706
|
+
void erase(const_iterator i);
|
1427
707
|
|
1428
|
-
//!
|
1429
|
-
|
1430
|
-
//! <b>Returns</b>: The number of erased elements.
|
1431
|
-
//!
|
1432
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
1433
|
-
//! Worst case O(this->size()).
|
1434
|
-
//!
|
1435
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Basic guarantee.
|
1436
|
-
//!
|
1437
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1438
|
-
//! to the erased elements. No destructors are called.
|
1439
|
-
size_type erase(const_reference value)
|
1440
|
-
{ return table_.erase(value); }
|
1441
|
-
|
1442
|
-
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
1443
|
-
//! the same hash values as the stored hasher. The difference is that
|
1444
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
1445
|
-
//!
|
1446
|
-
//! "key_value_equal" must be a equality function that induces
|
1447
|
-
//! the same equality as key_equal. The difference is that
|
1448
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
1449
|
-
//!
|
1450
|
-
//! <b>Effects</b>: Erases all the elements that have the same hash and
|
1451
|
-
//! compare equal with the given key.
|
1452
|
-
//!
|
1453
|
-
//! <b>Returns</b>: The number of erased elements.
|
1454
|
-
//!
|
1455
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
1456
|
-
//! Worst case O(this->size()).
|
1457
|
-
//!
|
1458
|
-
//! <b>Throws</b>: If the hash_func or the equal_func functors throws.
|
1459
|
-
//! Basic guarantee.
|
1460
|
-
//!
|
1461
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1462
|
-
//! to the erased elements. No destructors are called.
|
1463
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
1464
|
-
size_type erase(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func)
|
1465
|
-
{ return table_.erase(key, hash_func, equal_func); }
|
708
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const_iterator,const_iterator)
|
709
|
+
void erase(const_iterator b, const_iterator e);
|
1466
710
|
|
1467
|
-
//!
|
1468
|
-
|
1469
|
-
|
1470
|
-
//!
|
1471
|
-
|
1472
|
-
|
1473
|
-
|
1474
|
-
//!
|
1475
|
-
//!
|
1476
|
-
//! <b>Note</b>: Invalidates the iterators
|
1477
|
-
//! to the erased elements.
|
1478
|
-
template<class Disposer>
|
1479
|
-
void erase_and_dispose(const_iterator i, Disposer disposer
|
1480
|
-
/// @cond
|
1481
|
-
, typename detail::enable_if_c<!detail::is_convertible<Disposer, const_iterator>::value >::type * = 0
|
1482
|
-
/// @endcond
|
1483
|
-
)
|
1484
|
-
{ table_.erase_and_dispose(i, disposer); }
|
1485
|
-
|
1486
|
-
#if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
711
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const key_type &)
|
712
|
+
size_type erase(const key_type &key);
|
713
|
+
|
714
|
+
//! @copydoc ::boost::intrusive::hashtable::erase(const KeyType&,KeyHasher,KeyEqual)
|
715
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
716
|
+
size_type erase(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func);
|
717
|
+
|
718
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const_iterator,Disposer)
|
1487
719
|
template<class Disposer>
|
1488
|
-
void
|
1489
|
-
|
1490
|
-
|
720
|
+
BOOST_INTRUSIVE_DOC1ST(void
|
721
|
+
, typename detail::disable_if_convertible<Disposer BOOST_INTRUSIVE_I const_iterator>::type)
|
722
|
+
erase_and_dispose(const_iterator i, Disposer disposer);
|
1491
723
|
|
1492
|
-
//!
|
1493
|
-
//!
|
1494
|
-
//! <b>Effects</b>: Erases the range pointed to by b end e.
|
1495
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
1496
|
-
//!
|
1497
|
-
//! <b>Complexity</b>: Average case O(std::distance(b, e)),
|
1498
|
-
//! worst case O(this->size()).
|
1499
|
-
//!
|
1500
|
-
//! <b>Throws</b>: Nothing.
|
1501
|
-
//!
|
1502
|
-
//! <b>Note</b>: Invalidates the iterators
|
1503
|
-
//! to the erased elements.
|
724
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const_iterator,const_iterator,Disposer)
|
1504
725
|
template<class Disposer>
|
1505
|
-
void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer)
|
1506
|
-
{ table_.erase_and_dispose(b, e, disposer); }
|
726
|
+
void erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer);
|
1507
727
|
|
1508
|
-
//!
|
1509
|
-
//!
|
1510
|
-
//! <b>Effects</b>: Erases all the elements with the given value.
|
1511
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
1512
|
-
//!
|
1513
|
-
//! <b>Returns</b>: The number of erased elements.
|
1514
|
-
//!
|
1515
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
1516
|
-
//! Worst case O(this->size()).
|
1517
|
-
//!
|
1518
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws. Basic guarantee.
|
1519
|
-
//!
|
1520
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1521
|
-
//! to the erased elements. No destructors are called.
|
728
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const key_type &,Disposer)
|
1522
729
|
template<class Disposer>
|
1523
|
-
size_type erase_and_dispose(
|
1524
|
-
{ return table_.erase_and_dispose(value, disposer); }
|
730
|
+
size_type erase_and_dispose(const key_type &key, Disposer disposer);
|
1525
731
|
|
1526
|
-
//!
|
1527
|
-
|
1528
|
-
|
1529
|
-
//! according to the comparison functor "equal_func".
|
1530
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
1531
|
-
//!
|
1532
|
-
//! <b>Returns</b>: The number of erased elements.
|
1533
|
-
//!
|
1534
|
-
//! <b>Complexity</b>: Average case O(this->count(value)).
|
1535
|
-
//! Worst case O(this->size()).
|
1536
|
-
//!
|
1537
|
-
//! <b>Throws</b>: If hash_func or equal_func throw. Basic guarantee.
|
1538
|
-
//!
|
1539
|
-
//! <b>Note</b>: Invalidates the iterators
|
1540
|
-
//! to the erased elements.
|
1541
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual, class Disposer>
|
1542
|
-
size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func, Disposer disposer)
|
1543
|
-
{ return table_.erase_and_dispose(key, hash_func, equal_func, disposer); }
|
732
|
+
//! @copydoc ::boost::intrusive::hashtable::erase_and_dispose(const KeyType&,KeyHasher,KeyEqual,Disposer)
|
733
|
+
template<class KeyType, class KeyHasher, class KeyEqual, class Disposer>
|
734
|
+
size_type erase_and_dispose(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func, Disposer disposer);
|
1544
735
|
|
1545
|
-
//!
|
1546
|
-
|
1547
|
-
//! <b>Complexity</b>: Linear to the number of elements on the container.
|
1548
|
-
//! if it's a safe-mode or auto-unlink value_type. Constant time otherwise.
|
1549
|
-
//!
|
1550
|
-
//! <b>Throws</b>: Nothing.
|
1551
|
-
//!
|
1552
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1553
|
-
//! to the erased elements. No destructors are called.
|
1554
|
-
void clear()
|
1555
|
-
{ return table_.clear(); }
|
736
|
+
//! @copydoc ::boost::intrusive::hashtable::clear
|
737
|
+
void clear();
|
1556
738
|
|
1557
|
-
//!
|
1558
|
-
//!
|
1559
|
-
//! <b>Effects</b>: Erases all the elements of the container.
|
1560
|
-
//!
|
1561
|
-
//! <b>Complexity</b>: Linear to the number of elements on the container.
|
1562
|
-
//! Disposer::operator()(pointer) is called for the removed elements.
|
1563
|
-
//!
|
1564
|
-
//! <b>Throws</b>: Nothing.
|
1565
|
-
//!
|
1566
|
-
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1567
|
-
//! to the erased elements. No destructors are called.
|
739
|
+
//! @copydoc ::boost::intrusive::hashtable::clear_and_dispose
|
1568
740
|
template<class Disposer>
|
1569
|
-
void clear_and_dispose(Disposer disposer)
|
1570
|
-
{ return table_.clear_and_dispose(disposer); }
|
741
|
+
void clear_and_dispose(Disposer disposer);
|
1571
742
|
|
1572
|
-
//!
|
1573
|
-
|
1574
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1575
|
-
//!
|
1576
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1577
|
-
size_type count(const_reference value) const
|
1578
|
-
{ return table_.count(value); }
|
743
|
+
//! @copydoc ::boost::intrusive::hashtable::count(const key_type &)const
|
744
|
+
size_type count(const key_type &key) const;
|
1579
745
|
|
1580
|
-
//!
|
1581
|
-
|
1582
|
-
|
1583
|
-
//!
|
1584
|
-
//! "key_value_equal" must be a equality function that induces
|
1585
|
-
//! the same equality as key_equal. The difference is that
|
1586
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
1587
|
-
//!
|
1588
|
-
//! <b>Effects</b>: Returns the number of contained elements with the given key
|
1589
|
-
//!
|
1590
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1591
|
-
//!
|
1592
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1593
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
1594
|
-
size_type count(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const
|
1595
|
-
{ return table_.count(key, hash_func, equal_func); }
|
746
|
+
//! @copydoc ::boost::intrusive::hashtable::count(const KeyType&,KeyHasher,KeyEqual)const
|
747
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
748
|
+
size_type count(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func) const;
|
1596
749
|
|
1597
|
-
//!
|
1598
|
-
|
1599
|
-
//!
|
1600
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1601
|
-
//!
|
1602
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1603
|
-
iterator find(const_reference value)
|
1604
|
-
{ return table_.find(value); }
|
750
|
+
//! @copydoc ::boost::intrusive::hashtable::find(const key_type &)
|
751
|
+
iterator find(const key_type &key);
|
1605
752
|
|
1606
|
-
//!
|
1607
|
-
|
1608
|
-
|
1609
|
-
//!
|
1610
|
-
//! "key_value_equal" must be a equality function that induces
|
1611
|
-
//! the same equality as key_equal. The difference is that
|
1612
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
1613
|
-
//!
|
1614
|
-
//! <b>Effects</b>: Finds an iterator to the first element whose key is
|
1615
|
-
//! "key" according to the given hasher and equality functor or end() if
|
1616
|
-
//! that element does not exist.
|
1617
|
-
//!
|
1618
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1619
|
-
//!
|
1620
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1621
|
-
//!
|
1622
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
1623
|
-
//! is expensive and the value_type can be compared with a cheaper
|
1624
|
-
//! key type. Usually this key is part of the value_type.
|
1625
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
1626
|
-
iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func)
|
1627
|
-
{ return table_.find(key, hash_func, equal_func); }
|
1628
|
-
|
1629
|
-
//! <b>Effects</b>: Finds a const_iterator to the first element whose key is
|
1630
|
-
//! "key" or end() if that element does not exist.
|
1631
|
-
//!
|
1632
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1633
|
-
//!
|
1634
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1635
|
-
const_iterator find(const_reference value) const
|
1636
|
-
{ return table_.find(value); }
|
753
|
+
//! @copydoc ::boost::intrusive::hashtable::find(const KeyType &,KeyHasher,KeyEqual)
|
754
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
755
|
+
iterator find(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func);
|
1637
756
|
|
1638
|
-
//!
|
1639
|
-
|
1640
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
1641
|
-
//!
|
1642
|
-
//! "key_value_equal" must be a equality function that induces
|
1643
|
-
//! the same equality as key_equal. The difference is that
|
1644
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
1645
|
-
//!
|
1646
|
-
//! <b>Effects</b>: Finds an iterator to the first element whose key is
|
1647
|
-
//! "key" according to the given hasher and equality functor or end() if
|
1648
|
-
//! that element does not exist.
|
1649
|
-
//!
|
1650
|
-
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
1651
|
-
//!
|
1652
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1653
|
-
//!
|
1654
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
1655
|
-
//! is expensive and the value_type can be compared with a cheaper
|
1656
|
-
//! key type. Usually this key is part of the value_type.
|
1657
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
1658
|
-
const_iterator find(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func) const
|
1659
|
-
{ return table_.find(key, hash_func, equal_func); }
|
1660
|
-
|
1661
|
-
//! <b>Effects</b>: Returns a range containing all elements with values equivalent
|
1662
|
-
//! to value. Returns std::make_pair(this->end(), this->end()) if no such
|
1663
|
-
//! elements exist.
|
1664
|
-
//!
|
1665
|
-
//! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
|
1666
|
-
//!
|
1667
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1668
|
-
std::pair<iterator,iterator> equal_range(const_reference value)
|
1669
|
-
{ return table_.equal_range(value); }
|
757
|
+
//! @copydoc ::boost::intrusive::hashtable::count(const key_type &)const
|
758
|
+
const_iterator find(const key_type &key) const;
|
1670
759
|
|
1671
|
-
//!
|
1672
|
-
|
1673
|
-
|
1674
|
-
|
1675
|
-
//!
|
1676
|
-
|
1677
|
-
|
1678
|
-
//!
|
1679
|
-
|
1680
|
-
|
1681
|
-
|
1682
|
-
//!
|
1683
|
-
//! <b>Complexity</b>: Average case O(this->count(key, hash_func, equal_func)).
|
1684
|
-
//! Worst case O(this->size()).
|
1685
|
-
//!
|
1686
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1687
|
-
//!
|
1688
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
1689
|
-
//! is expensive and the value_type can be compared with a cheaper
|
1690
|
-
//! key type. Usually this key is part of the value_type.
|
1691
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
1692
|
-
std::pair<iterator,iterator> equal_range
|
1693
|
-
(const KeyType& key, KeyHasher hash_func, KeyValueEqual equal_func)
|
1694
|
-
{ return table_.equal_range(key, hash_func, equal_func); }
|
1695
|
-
|
1696
|
-
//! <b>Effects</b>: Returns a range containing all elements with values equivalent
|
1697
|
-
//! to value. Returns std::make_pair(this->end(), this->end()) if no such
|
1698
|
-
//! elements exist.
|
1699
|
-
//!
|
1700
|
-
//! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
|
1701
|
-
//!
|
1702
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
760
|
+
//! @copydoc ::boost::intrusive::hashtable::find(const KeyType &,KeyHasher,KeyEqual)const
|
761
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
762
|
+
const_iterator find(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func) const;
|
763
|
+
|
764
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const key_type&)
|
765
|
+
std::pair<iterator,iterator> equal_range(const key_type &key);
|
766
|
+
|
767
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const KeyType &,KeyHasher,KeyEqual)
|
768
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
769
|
+
std::pair<iterator,iterator> equal_range(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func);
|
770
|
+
|
771
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const key_type&)const
|
1703
772
|
std::pair<const_iterator, const_iterator>
|
1704
|
-
equal_range(
|
1705
|
-
{ return table_.equal_range(value); }
|
773
|
+
equal_range(const key_type &key) const;
|
1706
774
|
|
1707
|
-
//!
|
1708
|
-
|
1709
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
1710
|
-
//!
|
1711
|
-
//! "key_value_equal" must be a equality function that induces
|
1712
|
-
//! the same equality as key_equal. The difference is that
|
1713
|
-
//! "key_value_equal" compares an arbitrary key with the contained values.
|
1714
|
-
//!
|
1715
|
-
//! <b>Effects</b>: Returns a range containing all elements with equivalent
|
1716
|
-
//! keys. Returns std::make_pair(this->end(), this->end()) if no such
|
1717
|
-
//! elements exist.
|
1718
|
-
//!
|
1719
|
-
//! <b>Complexity</b>: Average case O(this->count(key, hash_func, equal_func)).
|
1720
|
-
//! Worst case O(this->size()).
|
1721
|
-
//!
|
1722
|
-
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
1723
|
-
//!
|
1724
|
-
//! <b>Note</b>: This function is used when constructing a value_type
|
1725
|
-
//! is expensive and the value_type can be compared with a cheaper
|
1726
|
-
//! key type. Usually this key is part of the value_type.
|
1727
|
-
template<class KeyType, class KeyHasher, class KeyValueEqual>
|
775
|
+
//! @copydoc ::boost::intrusive::hashtable::equal_range(const KeyType &,KeyHasher,KeyEqual)const
|
776
|
+
template<class KeyType, class KeyHasher, class KeyEqual>
|
1728
777
|
std::pair<const_iterator, const_iterator>
|
1729
|
-
equal_range(const KeyType& key, KeyHasher hash_func,
|
1730
|
-
{ return table_.equal_range(key, hash_func, equal_func); }
|
778
|
+
equal_range(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func) const;
|
1731
779
|
|
1732
|
-
//!
|
1733
|
-
|
1734
|
-
//!
|
1735
|
-
//! <b>Effects</b>: Returns: a valid iterator belonging to the unordered_multiset
|
1736
|
-
//! that points to the value
|
1737
|
-
//!
|
1738
|
-
//! <b>Complexity</b>: Constant.
|
1739
|
-
//!
|
1740
|
-
//! <b>Throws</b>: If the hash function throws.
|
1741
|
-
iterator iterator_to(reference value)
|
1742
|
-
{ return table_.iterator_to(value); }
|
780
|
+
//! @copydoc ::boost::intrusive::hashtable::iterator_to(reference)
|
781
|
+
iterator iterator_to(reference value);
|
1743
782
|
|
1744
|
-
//!
|
1745
|
-
|
1746
|
-
//!
|
1747
|
-
//! <b>Effects</b>: Returns: a valid const_iterator belonging to the
|
1748
|
-
//! unordered_multiset that points to the value
|
1749
|
-
//!
|
1750
|
-
//! <b>Complexity</b>: Constant.
|
1751
|
-
//!
|
1752
|
-
//! <b>Throws</b>: If the hash function throws.
|
1753
|
-
const_iterator iterator_to(const_reference value) const
|
1754
|
-
{ return table_.iterator_to(value); }
|
783
|
+
//! @copydoc ::boost::intrusive::hashtable::iterator_to(const_reference)const
|
784
|
+
const_iterator iterator_to(const_reference value) const;
|
1755
785
|
|
1756
|
-
//!
|
1757
|
-
|
1758
|
-
//!
|
1759
|
-
//! <b>Effects</b>: Returns: a valid local_iterator belonging to the unordered_set
|
1760
|
-
//! that points to the value
|
1761
|
-
//!
|
1762
|
-
//! <b>Complexity</b>: Constant.
|
1763
|
-
//!
|
1764
|
-
//! <b>Throws</b>: Nothing.
|
1765
|
-
//!
|
1766
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
1767
|
-
//! is stateless.
|
1768
|
-
static local_iterator s_local_iterator_to(reference value)
|
1769
|
-
{ return table_type::s_local_iterator_to(value); }
|
786
|
+
//! @copydoc ::boost::intrusive::hashtable::s_local_iterator_to(reference)
|
787
|
+
static local_iterator s_local_iterator_to(reference value);
|
1770
788
|
|
1771
|
-
//!
|
1772
|
-
|
1773
|
-
//!
|
1774
|
-
//! <b>Effects</b>: Returns: a valid const_local_iterator belonging to
|
1775
|
-
//! the unordered_set that points to the value
|
1776
|
-
//!
|
1777
|
-
//! <b>Complexity</b>: Constant.
|
1778
|
-
//!
|
1779
|
-
//! <b>Throws</b>: Nothing.
|
1780
|
-
//!
|
1781
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
1782
|
-
//! is stateless.
|
1783
|
-
static const_local_iterator s_local_iterator_to(const_reference value)
|
1784
|
-
{ return table_type::s_local_iterator_to(value); }
|
789
|
+
//! @copydoc ::boost::intrusive::hashtable::s_local_iterator_to(const_reference)
|
790
|
+
static const_local_iterator s_local_iterator_to(const_reference value);
|
1785
791
|
|
1786
|
-
//!
|
1787
|
-
|
1788
|
-
//!
|
1789
|
-
//! <b>Effects</b>: Returns: a valid local_iterator belonging to the unordered_set
|
1790
|
-
//! that points to the value
|
1791
|
-
//!
|
1792
|
-
//! <b>Complexity</b>: Constant.
|
1793
|
-
//!
|
1794
|
-
//! <b>Throws</b>: Nothing.
|
1795
|
-
local_iterator local_iterator_to(reference value)
|
1796
|
-
{ return table_.local_iterator_to(value); }
|
792
|
+
//! @copydoc ::boost::intrusive::hashtable::local_iterator_to(reference)
|
793
|
+
local_iterator local_iterator_to(reference value);
|
1797
794
|
|
1798
|
-
//!
|
1799
|
-
|
1800
|
-
//!
|
1801
|
-
//! <b>Effects</b>: Returns: a valid const_local_iterator belonging to
|
1802
|
-
//! the unordered_set that points to the value
|
1803
|
-
//!
|
1804
|
-
//! <b>Complexity</b>: Constant.
|
1805
|
-
//!
|
1806
|
-
//! <b>Throws</b>: Nothing.
|
1807
|
-
const_local_iterator local_iterator_to(const_reference value) const
|
1808
|
-
{ return table_.local_iterator_to(value); }
|
795
|
+
//! @copydoc ::boost::intrusive::hashtable::local_iterator_to(const_reference)
|
796
|
+
const_local_iterator local_iterator_to(const_reference value) const;
|
1809
797
|
|
1810
|
-
//!
|
1811
|
-
|
1812
|
-
//!
|
1813
|
-
//! <b>Complexity</b>: Constant.
|
1814
|
-
//!
|
1815
|
-
//! <b>Throws</b>: Nothing.
|
1816
|
-
size_type bucket_count() const
|
1817
|
-
{ return table_.bucket_count(); }
|
798
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket_count
|
799
|
+
size_type bucket_count() const;
|
1818
800
|
|
1819
|
-
//!
|
1820
|
-
|
1821
|
-
//! <b>Effects</b>: Returns the number of elements in the nth bucket.
|
1822
|
-
//!
|
1823
|
-
//! <b>Complexity</b>: Constant.
|
1824
|
-
//!
|
1825
|
-
//! <b>Throws</b>: Nothing.
|
1826
|
-
size_type bucket_size(size_type n) const
|
1827
|
-
{ return table_.bucket_size(n); }
|
801
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket_size
|
802
|
+
size_type bucket_size(size_type n) const;
|
1828
803
|
|
1829
|
-
//!
|
1830
|
-
|
1831
|
-
//!
|
1832
|
-
//! <b>Complexity</b>: Constant.
|
1833
|
-
//!
|
1834
|
-
//! <b>Throws</b>: If the hash functor throws.
|
1835
|
-
//!
|
1836
|
-
//! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
|
1837
|
-
size_type bucket(const value_type& k) const
|
1838
|
-
{ return table_.bucket(k); }
|
804
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket(const key_type&)const
|
805
|
+
size_type bucket(const key_type& k) const;
|
1839
806
|
|
1840
|
-
//!
|
1841
|
-
//! the same hash values as the stored hasher. The difference is that
|
1842
|
-
//! "hash_func" hashes the given key instead of the value_type.
|
1843
|
-
//!
|
1844
|
-
//! <b>Effects</b>: Returns the index of the bucket in which elements
|
1845
|
-
//! with keys equivalent to k would be found, if any such element existed.
|
1846
|
-
//!
|
1847
|
-
//! <b>Complexity</b>: Constant.
|
1848
|
-
//!
|
1849
|
-
//! <b>Throws</b>: If the hash functor throws.
|
1850
|
-
//!
|
1851
|
-
//! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
|
807
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket(const KeyType&,KeyHasher)const
|
1852
808
|
template<class KeyType, class KeyHasher>
|
1853
|
-
size_type bucket(const KeyType& k,
|
1854
|
-
{ return table_.bucket(k, hash_func); }
|
809
|
+
size_type bucket(const KeyType& k, KeyHasher hash_func) const;
|
1855
810
|
|
1856
|
-
//!
|
1857
|
-
|
1858
|
-
//!
|
1859
|
-
//! <b>Complexity</b>: Constant.
|
1860
|
-
//!
|
1861
|
-
//! <b>Throws</b>: Nothing.
|
1862
|
-
bucket_ptr bucket_pointer() const
|
1863
|
-
{ return table_.bucket_pointer(); }
|
811
|
+
//! @copydoc ::boost::intrusive::hashtable::bucket_pointer
|
812
|
+
bucket_ptr bucket_pointer() const;
|
1864
813
|
|
1865
|
-
//!
|
1866
|
-
|
1867
|
-
//! <b>Effects</b>: Returns a local_iterator pointing to the beginning
|
1868
|
-
//! of the sequence stored in the bucket n.
|
1869
|
-
//!
|
1870
|
-
//! <b>Complexity</b>: Constant.
|
1871
|
-
//!
|
1872
|
-
//! <b>Throws</b>: Nothing.
|
1873
|
-
//!
|
1874
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
1875
|
-
//! containing all of the elements in the nth bucket.
|
1876
|
-
local_iterator begin(size_type n)
|
1877
|
-
{ return table_.begin(n); }
|
814
|
+
//! @copydoc ::boost::intrusive::hashtable::begin(size_type)
|
815
|
+
local_iterator begin(size_type n);
|
1878
816
|
|
1879
|
-
//!
|
1880
|
-
|
1881
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the beginning
|
1882
|
-
//! of the sequence stored in the bucket n.
|
1883
|
-
//!
|
1884
|
-
//! <b>Complexity</b>: Constant.
|
1885
|
-
//!
|
1886
|
-
//! <b>Throws</b>: Nothing.
|
1887
|
-
//!
|
1888
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
1889
|
-
//! containing all of the elements in the nth bucket.
|
1890
|
-
const_local_iterator begin(size_type n) const
|
1891
|
-
{ return table_.begin(n); }
|
817
|
+
//! @copydoc ::boost::intrusive::hashtable::begin(size_type)const
|
818
|
+
const_local_iterator begin(size_type n) const;
|
1892
819
|
|
1893
|
-
//!
|
1894
|
-
|
1895
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the beginning
|
1896
|
-
//! of the sequence stored in the bucket n.
|
1897
|
-
//!
|
1898
|
-
//! <b>Complexity</b>: Constant.
|
1899
|
-
//!
|
1900
|
-
//! <b>Throws</b>: Nothing.
|
1901
|
-
//!
|
1902
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
1903
|
-
//! containing all of the elements in the nth bucket.
|
1904
|
-
const_local_iterator cbegin(size_type n) const
|
1905
|
-
{ return table_.cbegin(n); }
|
820
|
+
//! @copydoc ::boost::intrusive::hashtable::cbegin(size_type)const
|
821
|
+
const_local_iterator cbegin(size_type n) const;
|
1906
822
|
|
1907
|
-
//!
|
1908
|
-
|
1909
|
-
//! <b>Effects</b>: Returns a local_iterator pointing to the end
|
1910
|
-
//! of the sequence stored in the bucket n.
|
1911
|
-
//!
|
1912
|
-
//! <b>Complexity</b>: Constant.
|
1913
|
-
//!
|
1914
|
-
//! <b>Throws</b>: Nothing.
|
1915
|
-
//!
|
1916
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
1917
|
-
//! containing all of the elements in the nth bucket.
|
1918
|
-
local_iterator end(size_type n)
|
1919
|
-
{ return table_.end(n); }
|
823
|
+
//! @copydoc ::boost::intrusive::hashtable::end(size_type)
|
824
|
+
local_iterator end(size_type n);
|
1920
825
|
|
1921
|
-
//!
|
1922
|
-
|
1923
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the end
|
1924
|
-
//! of the sequence stored in the bucket n.
|
1925
|
-
//!
|
1926
|
-
//! <b>Complexity</b>: Constant.
|
1927
|
-
//!
|
1928
|
-
//! <b>Throws</b>: Nothing.
|
1929
|
-
//!
|
1930
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
1931
|
-
//! containing all of the elements in the nth bucket.
|
1932
|
-
const_local_iterator end(size_type n) const
|
1933
|
-
{ return table_.end(n); }
|
826
|
+
//! @copydoc ::boost::intrusive::hashtable::end(size_type)const
|
827
|
+
const_local_iterator end(size_type n) const;
|
1934
828
|
|
1935
|
-
//!
|
1936
|
-
|
1937
|
-
//! <b>Effects</b>: Returns a const_local_iterator pointing to the end
|
1938
|
-
//! of the sequence stored in the bucket n.
|
1939
|
-
//!
|
1940
|
-
//! <b>Complexity</b>: Constant.
|
1941
|
-
//!
|
1942
|
-
//! <b>Throws</b>: Nothing.
|
1943
|
-
//!
|
1944
|
-
//! <b>Note</b>: [this->begin(n), this->end(n)) is a valid range
|
1945
|
-
//! containing all of the elements in the nth bucket.
|
1946
|
-
const_local_iterator cend(size_type n) const
|
1947
|
-
{ return table_.cend(n); }
|
1948
|
-
|
1949
|
-
//! <b>Requires</b>: new_buckets must be a pointer to a new bucket array
|
1950
|
-
//! or the same as the old bucket array. new_size is the length of the
|
1951
|
-
//! the array pointed by new_buckets. If new_buckets == this->bucket_pointer()
|
1952
|
-
//! n can be bigger or smaller than this->bucket_count().
|
1953
|
-
//!
|
1954
|
-
//! <b>Effects</b>: Updates the internal reference with the new bucket erases
|
1955
|
-
//! the values from the old bucket and inserts then in the new one.
|
1956
|
-
//!
|
1957
|
-
//! If store_hash option is true, this method does not use the hash function.
|
1958
|
-
//!
|
1959
|
-
//! <b>Complexity</b>: Average case linear in this->size(), worst case quadratic.
|
1960
|
-
//!
|
1961
|
-
//! <b>Throws</b>: If the hasher functor throws.
|
1962
|
-
void rehash(const bucket_traits &new_bucket_traits)
|
1963
|
-
{ table_.rehash(new_bucket_traits); }
|
829
|
+
//! @copydoc ::boost::intrusive::hashtable::cend(size_type)const
|
830
|
+
const_local_iterator cend(size_type n) const;
|
1964
831
|
|
1965
|
-
//!
|
1966
|
-
|
1967
|
-
//! <b>Effects</b>:
|
1968
|
-
//!
|
1969
|
-
//! <b>Complexity</b>:
|
1970
|
-
//!
|
1971
|
-
//! <b>Throws</b>:
|
1972
|
-
//!
|
1973
|
-
//! <b>Note</b>: this method is only available if incremental<true> option is activated.
|
1974
|
-
bool incremental_rehash(bool grow = true)
|
1975
|
-
{ return table_.incremental_rehash(grow); }
|
832
|
+
//! @copydoc ::boost::intrusive::hashtable::rehash(const bucket_traits &)
|
833
|
+
void rehash(const bucket_traits &new_bucket_traits);
|
1976
834
|
|
1977
|
-
//!
|
1978
|
-
bool incremental_rehash(
|
1979
|
-
{ return table_.incremental_rehash(new_bucket_traits); }
|
835
|
+
//! @copydoc ::boost::intrusive::hashtable::incremental_rehash(bool)
|
836
|
+
bool incremental_rehash(bool grow = true);
|
1980
837
|
|
1981
|
-
//!
|
1982
|
-
|
1983
|
-
|
1984
|
-
//!
|
1985
|
-
|
1986
|
-
|
1987
|
-
//!
|
1988
|
-
size_type
|
1989
|
-
|
1990
|
-
|
1991
|
-
|
1992
|
-
|
1993
|
-
|
1994
|
-
//! container's performance. If such value does not exist, the
|
1995
|
-
//! higher possible value is returned.
|
1996
|
-
//!
|
1997
|
-
//! <b>Complexity</b>: Amortized constant time.
|
1998
|
-
//!
|
1999
|
-
//! <b>Throws</b>: Nothing.
|
2000
|
-
static size_type suggested_upper_bucket_count(size_type n)
|
2001
|
-
{ return table_type::suggested_upper_bucket_count(n); }
|
2002
|
-
|
2003
|
-
//! <b>Effects</b>: Returns the nearest new bucket count optimized for
|
2004
|
-
//! the container that is smaller than n. This suggestion can be used
|
2005
|
-
//! to create bucket arrays with a size that will usually improve
|
2006
|
-
//! container's performance. If such value does not exist, the
|
2007
|
-
//! lower possible value is returned.
|
2008
|
-
//!
|
2009
|
-
//! <b>Complexity</b>: Amortized constant time.
|
2010
|
-
//!
|
2011
|
-
//! <b>Throws</b>: Nothing.
|
2012
|
-
static size_type suggested_lower_bucket_count(size_type n)
|
2013
|
-
{ return table_type::suggested_lower_bucket_count(n); }
|
838
|
+
//! @copydoc ::boost::intrusive::hashtable::incremental_rehash(const bucket_traits &)
|
839
|
+
bool incremental_rehash(const bucket_traits &new_bucket_traits);
|
840
|
+
|
841
|
+
//! @copydoc ::boost::intrusive::hashtable::split_count
|
842
|
+
size_type split_count() const;
|
843
|
+
|
844
|
+
//! @copydoc ::boost::intrusive::hashtable::suggested_upper_bucket_count
|
845
|
+
static size_type suggested_upper_bucket_count(size_type n);
|
846
|
+
|
847
|
+
//! @copydoc ::boost::intrusive::hashtable::suggested_lower_bucket_count
|
848
|
+
static size_type suggested_lower_bucket_count(size_type n);
|
849
|
+
|
850
|
+
#endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
2014
851
|
};
|
2015
852
|
|
2016
853
|
//! Helper metafunction to define an \c unordered_multiset that yields to the same type when the
|
@@ -2018,26 +855,46 @@ class unordered_multiset_impl
|
|
2018
855
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
2019
856
|
template<class T, class ...Options>
|
2020
857
|
#else
|
2021
|
-
template<class T, class O1 =
|
2022
|
-
, class O3 =
|
2023
|
-
, class O5 =
|
2024
|
-
, class O7 =
|
2025
|
-
, class O9 =
|
858
|
+
template<class T, class O1 = void, class O2 = void
|
859
|
+
, class O3 = void, class O4 = void
|
860
|
+
, class O5 = void, class O6 = void
|
861
|
+
, class O7 = void, class O8 = void
|
862
|
+
, class O9 = void, class O10= void
|
2026
863
|
>
|
2027
864
|
#endif
|
2028
865
|
struct make_unordered_multiset
|
2029
866
|
{
|
2030
867
|
/// @cond
|
868
|
+
typedef typename pack_options
|
869
|
+
< hashtable_defaults,
|
870
|
+
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
871
|
+
O1, O2, O3, O4, O5, O6, O7, O8, O9, O10
|
872
|
+
#else
|
873
|
+
Options...
|
874
|
+
#endif
|
875
|
+
>::type packed_options;
|
876
|
+
|
877
|
+
typedef typename detail::get_value_traits
|
878
|
+
<T, typename packed_options::proto_value_traits>::type value_traits;
|
879
|
+
|
880
|
+
typedef typename make_bucket_traits
|
881
|
+
<T, true, packed_options>::type bucket_traits;
|
882
|
+
|
2031
883
|
typedef unordered_multiset_impl
|
2032
|
-
<
|
2033
|
-
|
2034
|
-
|
2035
|
-
|
2036
|
-
|
2037
|
-
|
2038
|
-
|
2039
|
-
|
884
|
+
< value_traits
|
885
|
+
, typename packed_options::key_of_value
|
886
|
+
, typename packed_options::hash
|
887
|
+
, typename packed_options::equal
|
888
|
+
, typename packed_options::size_type
|
889
|
+
, bucket_traits
|
890
|
+
, (std::size_t(false)*hash_bool_flags::unique_keys_pos)
|
891
|
+
| (std::size_t(packed_options::constant_time_size)*hash_bool_flags::constant_time_size_pos)
|
892
|
+
| (std::size_t(packed_options::power_2_buckets)*hash_bool_flags::power_2_buckets_pos)
|
893
|
+
| (std::size_t(packed_options::cache_begin)*hash_bool_flags::cache_begin_pos)
|
894
|
+
| (std::size_t(packed_options::compare_hash)*hash_bool_flags::compare_hash_pos)
|
895
|
+
| (std::size_t(packed_options::incremental)*hash_bool_flags::incremental_pos)
|
2040
896
|
> implementation_defined;
|
897
|
+
|
2041
898
|
/// @endcond
|
2042
899
|
typedef implementation_defined type;
|
2043
900
|
};
|
@@ -2080,10 +937,10 @@ class unordered_multiset
|
|
2080
937
|
typedef typename Base::hasher hasher;
|
2081
938
|
typedef typename Base::key_equal key_equal;
|
2082
939
|
|
2083
|
-
unordered_multiset( const bucket_traits &b_traits
|
2084
|
-
|
2085
|
-
|
2086
|
-
|
940
|
+
explicit unordered_multiset( const bucket_traits &b_traits
|
941
|
+
, const hasher & hash_func = hasher()
|
942
|
+
, const key_equal &equal_func = key_equal()
|
943
|
+
, const value_traits &v_traits = value_traits())
|
2087
944
|
: Base(b_traits, hash_func, equal_func, v_traits)
|
2088
945
|
{}
|
2089
946
|
|
@@ -2098,11 +955,19 @@ class unordered_multiset
|
|
2098
955
|
{}
|
2099
956
|
|
2100
957
|
unordered_multiset(BOOST_RV_REF(unordered_multiset) x)
|
2101
|
-
: Base(
|
958
|
+
: Base(BOOST_MOVE_BASE(Base, x))
|
2102
959
|
{}
|
2103
960
|
|
2104
961
|
unordered_multiset& operator=(BOOST_RV_REF(unordered_multiset) x)
|
2105
|
-
{ this->Base::operator=(
|
962
|
+
{ return static_cast<unordered_multiset&>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
|
963
|
+
|
964
|
+
template <class Cloner, class Disposer>
|
965
|
+
void clone_from(const unordered_multiset &src, Cloner cloner, Disposer disposer)
|
966
|
+
{ Base::clone_from(src, cloner, disposer); }
|
967
|
+
|
968
|
+
template <class Cloner, class Disposer>
|
969
|
+
void clone_from(BOOST_RV_REF(unordered_multiset) src, Cloner cloner, Disposer disposer)
|
970
|
+
{ Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
|
2106
971
|
};
|
2107
972
|
|
2108
973
|
#endif
|