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 2008-
|
3
|
+
// (C) Copyright Ion Gaztanaga 2008-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,61 +13,50 @@
|
|
13
13
|
#define BOOST_INTRUSIVE_TREAP_HPP
|
14
14
|
|
15
15
|
#include <boost/intrusive/detail/config_begin.hpp>
|
16
|
-
#include <
|
17
|
-
#include <cstddef>
|
18
|
-
#include <functional>
|
19
|
-
#include <iterator>
|
20
|
-
#include <utility>
|
16
|
+
#include <boost/intrusive/intrusive_fwd.hpp>
|
21
17
|
|
22
18
|
#include <boost/intrusive/detail/assert.hpp>
|
23
|
-
#include <boost/static_assert.hpp>
|
24
|
-
#include <boost/intrusive/intrusive_fwd.hpp>
|
25
19
|
#include <boost/intrusive/bs_set_hook.hpp>
|
20
|
+
#include <boost/intrusive/bstree.hpp>
|
26
21
|
#include <boost/intrusive/detail/tree_node.hpp>
|
27
22
|
#include <boost/intrusive/detail/ebo_functor_holder.hpp>
|
28
23
|
#include <boost/intrusive/pointer_traits.hpp>
|
29
|
-
#include <boost/intrusive/detail/
|
30
|
-
#include <boost/intrusive/detail/utilities.hpp>
|
31
|
-
#include <boost/intrusive/pointer_traits.hpp>
|
32
|
-
#include <boost/intrusive/options.hpp>
|
24
|
+
#include <boost/intrusive/detail/get_value_traits.hpp>
|
33
25
|
#include <boost/intrusive/detail/mpl.hpp>
|
34
26
|
#include <boost/intrusive/treap_algorithms.hpp>
|
35
27
|
#include <boost/intrusive/link_mode.hpp>
|
36
|
-
#include <boost/move/move.hpp>
|
37
28
|
#include <boost/intrusive/priority_compare.hpp>
|
29
|
+
#include <boost/intrusive/detail/node_cloner_disposer.hpp>
|
30
|
+
#include <boost/intrusive/detail/key_nodeptr_comp.hpp>
|
31
|
+
|
32
|
+
#include <boost/static_assert.hpp>
|
33
|
+
#include <boost/move/utility_core.hpp>
|
34
|
+
#include <boost/move/adl_move_swap.hpp>
|
35
|
+
|
36
|
+
#include <cstddef>
|
37
|
+
#include <boost/intrusive/detail/minimal_less_equal_header.hpp>
|
38
|
+
#include <boost/intrusive/detail/minimal_pair_header.hpp> //std::pair
|
39
|
+
|
40
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
41
|
+
# pragma once
|
42
|
+
#endif
|
38
43
|
|
39
44
|
namespace boost {
|
40
45
|
namespace intrusive {
|
41
46
|
|
42
47
|
/// @cond
|
43
48
|
|
44
|
-
|
45
|
-
|
49
|
+
struct treap_defaults
|
50
|
+
: bstree_defaults
|
46
51
|
{
|
47
|
-
typedef
|
48
|
-
typedef Compare compare;
|
49
|
-
typedef PrioCompare priority_compare;
|
50
|
-
typedef SizeType size_type;
|
51
|
-
static const bool constant_time_size = ConstantTimeSize;
|
52
|
+
typedef void priority;
|
52
53
|
};
|
53
54
|
|
54
|
-
template <class T>
|
55
|
-
struct treap_set_defaults
|
56
|
-
: pack_options
|
57
|
-
< none
|
58
|
-
, base_hook<detail::default_bs_set_hook>
|
59
|
-
, constant_time_size<true>
|
60
|
-
, size_type<std::size_t>
|
61
|
-
, compare<std::less<T> >
|
62
|
-
, priority<boost::intrusive::priority_compare<T> >
|
63
|
-
>::type
|
64
|
-
{};
|
65
|
-
|
66
55
|
/// @endcond
|
67
56
|
|
68
57
|
//! The class template treap is an intrusive treap container that
|
69
58
|
//! is used to construct intrusive set and multiset containers. The no-throw
|
70
|
-
//! guarantee holds only, if the
|
59
|
+
//! guarantee holds only, if the key_compare object and priority_compare object
|
71
60
|
//! don't throw.
|
72
61
|
//!
|
73
62
|
//! The template parameter \c T is the type to be managed by the container.
|
@@ -81,170 +70,105 @@ struct treap_set_defaults
|
|
81
70
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
82
71
|
template<class T, class ...Options>
|
83
72
|
#else
|
84
|
-
template<class
|
73
|
+
template<class ValueTraits, class VoidOrKeyOfValue, class VoidOrKeyComp, class VoidOrPrioComp, class SizeType, bool ConstantTimeSize, typename HeaderHolder>
|
85
74
|
#endif
|
86
75
|
class treap_impl
|
87
|
-
|
76
|
+
/// @cond
|
77
|
+
: public bstree_impl<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, BsTreeAlgorithms, HeaderHolder>
|
78
|
+
//Use public inheritance to avoid MSVC bugs with closures
|
79
|
+
, public detail::ebo_functor_holder
|
80
|
+
< typename get_prio
|
81
|
+
< VoidOrPrioComp
|
82
|
+
, typename bstree_impl
|
83
|
+
<ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType, ConstantTimeSize, BsTreeAlgorithms, HeaderHolder>::value_type>::type
|
84
|
+
>
|
85
|
+
/// @endcond
|
88
86
|
{
|
89
|
-
template<class C> friend class detail::clear_on_destructor_base;
|
90
87
|
public:
|
91
|
-
typedef
|
88
|
+
typedef ValueTraits value_traits;
|
92
89
|
/// @cond
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
90
|
+
typedef bstree_impl< ValueTraits, VoidOrKeyOfValue, VoidOrKeyComp, SizeType
|
91
|
+
, ConstantTimeSize, BsTreeAlgorithms
|
92
|
+
, HeaderHolder> tree_type;
|
93
|
+
typedef tree_type implementation_defined;
|
94
|
+
typedef get_prio
|
95
|
+
< VoidOrPrioComp
|
96
|
+
, typename tree_type::value_type> get_prio_type;
|
97
|
+
|
98
|
+
typedef detail::ebo_functor_holder
|
99
|
+
<typename get_prio_type::type> prio_base;
|
100
|
+
|
100
101
|
/// @endcond
|
101
|
-
|
102
|
-
typedef typename
|
103
|
-
typedef typename
|
104
|
-
typedef typename
|
105
|
-
typedef typename
|
106
|
-
typedef typename
|
107
|
-
typedef
|
108
|
-
typedef typename
|
109
|
-
typedef typename
|
110
|
-
typedef typename
|
111
|
-
typedef value_compare
|
112
|
-
typedef
|
113
|
-
typedef
|
114
|
-
typedef
|
115
|
-
typedef
|
116
|
-
typedef typename
|
117
|
-
typedef typename node_traits
|
118
|
-
typedef typename
|
119
|
-
|
120
|
-
|
121
|
-
typedef
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
static const bool
|
127
|
-
|
102
|
+
|
103
|
+
typedef typename implementation_defined::pointer pointer;
|
104
|
+
typedef typename implementation_defined::const_pointer const_pointer;
|
105
|
+
typedef typename implementation_defined::value_type value_type;
|
106
|
+
typedef typename implementation_defined::key_type key_type;
|
107
|
+
typedef typename implementation_defined::key_of_value key_of_value;
|
108
|
+
typedef typename implementation_defined::reference reference;
|
109
|
+
typedef typename implementation_defined::const_reference const_reference;
|
110
|
+
typedef typename implementation_defined::difference_type difference_type;
|
111
|
+
typedef typename implementation_defined::size_type size_type;
|
112
|
+
typedef typename implementation_defined::value_compare value_compare;
|
113
|
+
typedef typename implementation_defined::key_compare key_compare;
|
114
|
+
typedef typename implementation_defined::iterator iterator;
|
115
|
+
typedef typename implementation_defined::const_iterator const_iterator;
|
116
|
+
typedef typename implementation_defined::reverse_iterator reverse_iterator;
|
117
|
+
typedef typename implementation_defined::const_reverse_iterator const_reverse_iterator;
|
118
|
+
typedef typename implementation_defined::node_traits node_traits;
|
119
|
+
typedef typename implementation_defined::node node;
|
120
|
+
typedef typename implementation_defined::node_ptr node_ptr;
|
121
|
+
typedef typename implementation_defined::const_node_ptr const_node_ptr;
|
122
|
+
typedef BOOST_INTRUSIVE_IMPDEF(treap_algorithms<node_traits>) node_algorithms;
|
123
|
+
typedef BOOST_INTRUSIVE_IMPDEF(typename get_prio_type::type) priority_compare;
|
124
|
+
|
125
|
+
static const bool constant_time_size = implementation_defined::constant_time_size;
|
126
|
+
static const bool stateful_value_traits = implementation_defined::stateful_value_traits;
|
127
|
+
static const bool safemode_or_autounlink = is_safe_autounlink<value_traits::link_mode>::value;
|
128
|
+
|
129
|
+
typedef detail::key_nodeptr_comp<priority_compare, value_traits> value_node_prio_comp_t;
|
130
|
+
|
131
|
+
template<class KeyPrioComp>
|
132
|
+
detail::key_nodeptr_comp<KeyPrioComp, value_traits> key_node_prio_comp(KeyPrioComp keypriocomp) const
|
133
|
+
{ return detail::key_nodeptr_comp<KeyPrioComp, value_traits>(keypriocomp, &this->get_value_traits()); }
|
134
|
+
|
135
|
+
value_node_prio_comp_t value_node_prio_comp() const
|
136
|
+
{ return this->key_node_prio_comp(this->priv_pcomp()); }
|
128
137
|
|
129
138
|
/// @cond
|
130
139
|
private:
|
131
|
-
typedef detail::size_holder<constant_time_size, size_type> size_traits;
|
132
140
|
|
133
141
|
//noncopyable
|
134
142
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(treap_impl)
|
135
143
|
|
136
|
-
enum { safemode_or_autounlink =
|
137
|
-
(int)real_value_traits::link_mode == (int)auto_unlink ||
|
138
|
-
(int)real_value_traits::link_mode == (int)safe_link };
|
139
|
-
|
140
|
-
//Constant-time size is incompatible with auto-unlink hooks!
|
141
|
-
BOOST_STATIC_ASSERT(!(constant_time_size && ((int)real_value_traits::link_mode == (int)auto_unlink)));
|
142
|
-
|
143
|
-
struct header_plus_size : public size_traits
|
144
|
-
{ node header_; };
|
145
|
-
|
146
|
-
struct node_plus_pred_t : public detail::ebo_functor_holder<value_compare>
|
147
|
-
{
|
148
|
-
node_plus_pred_t(const value_compare &comp, const priority_compare &p_comp)
|
149
|
-
: detail::ebo_functor_holder<value_compare>(comp)
|
150
|
-
, header_plus_priority_size_(p_comp)
|
151
|
-
{}
|
152
|
-
struct header_plus_priority_size
|
153
|
-
: public detail::ebo_functor_holder<priority_compare>
|
154
|
-
{
|
155
|
-
header_plus_priority_size(const priority_compare &p_comp)
|
156
|
-
: detail::ebo_functor_holder<priority_compare>(p_comp)
|
157
|
-
{}
|
158
|
-
header_plus_size header_plus_size_;
|
159
|
-
} header_plus_priority_size_;
|
160
|
-
};
|
161
|
-
|
162
|
-
struct data_t : public treap_impl::value_traits
|
163
|
-
{
|
164
|
-
typedef typename treap_impl::value_traits value_traits;
|
165
|
-
data_t(const value_compare & comp, const priority_compare &pcomp, const value_traits &val_traits)
|
166
|
-
: value_traits(val_traits), node_plus_pred_(comp, pcomp)
|
167
|
-
{}
|
168
|
-
node_plus_pred_t node_plus_pred_;
|
169
|
-
} data_;
|
170
|
-
|
171
|
-
const value_compare &priv_comp() const
|
172
|
-
{ return data_.node_plus_pred_.get(); }
|
173
|
-
|
174
|
-
value_compare &priv_comp()
|
175
|
-
{ return data_.node_plus_pred_.get(); }
|
176
|
-
|
177
144
|
const priority_compare &priv_pcomp() const
|
178
|
-
{ return
|
145
|
+
{ return static_cast<const prio_base&>(*this).get(); }
|
179
146
|
|
180
147
|
priority_compare &priv_pcomp()
|
181
|
-
{ return
|
182
|
-
|
183
|
-
const value_traits &priv_value_traits() const
|
184
|
-
{ return data_; }
|
185
|
-
|
186
|
-
value_traits &priv_value_traits()
|
187
|
-
{ return data_; }
|
188
|
-
|
189
|
-
node_ptr priv_header_ptr()
|
190
|
-
{ return pointer_traits<node_ptr>::pointer_to(data_.node_plus_pred_.header_plus_priority_size_.header_plus_size_.header_); }
|
191
|
-
|
192
|
-
const_node_ptr priv_header_ptr() const
|
193
|
-
{ return pointer_traits<const_node_ptr>::pointer_to(data_.node_plus_pred_.header_plus_priority_size_.header_plus_size_.header_); }
|
194
|
-
|
195
|
-
static node_ptr uncast(const const_node_ptr & ptr)
|
196
|
-
{ return pointer_traits<node_ptr>::const_cast_from(ptr); }
|
197
|
-
|
198
|
-
size_traits &priv_size_traits()
|
199
|
-
{ return data_.node_plus_pred_.header_plus_priority_size_.header_plus_size_; }
|
200
|
-
|
201
|
-
const size_traits &priv_size_traits() const
|
202
|
-
{ return data_.node_plus_pred_.header_plus_priority_size_.header_plus_size_; }
|
203
|
-
|
204
|
-
const real_value_traits &get_real_value_traits(detail::bool_<false>) const
|
205
|
-
{ return data_; }
|
206
|
-
|
207
|
-
const real_value_traits &get_real_value_traits(detail::bool_<true>) const
|
208
|
-
{ return data_.get_value_traits(*this); }
|
209
|
-
|
210
|
-
real_value_traits &get_real_value_traits(detail::bool_<false>)
|
211
|
-
{ return data_; }
|
212
|
-
|
213
|
-
real_value_traits &get_real_value_traits(detail::bool_<true>)
|
214
|
-
{ return data_.get_value_traits(*this); }
|
148
|
+
{ return static_cast<prio_base&>(*this).get(); }
|
215
149
|
|
216
150
|
/// @endcond
|
217
151
|
|
218
152
|
public:
|
219
|
-
|
220
|
-
const real_value_traits &get_real_value_traits() const
|
221
|
-
{ return this->get_real_value_traits(detail::bool_<external_value_traits>()); }
|
222
|
-
|
223
|
-
real_value_traits &get_real_value_traits()
|
224
|
-
{ return this->get_real_value_traits(detail::bool_<external_value_traits>()); }
|
225
|
-
|
226
153
|
typedef typename node_algorithms::insert_commit_data insert_commit_data;
|
227
154
|
|
228
|
-
//! <b>Effects</b>: Constructs an empty
|
155
|
+
//! <b>Effects</b>: Constructs an empty container.
|
229
156
|
//!
|
230
157
|
//! <b>Complexity</b>: Constant.
|
231
158
|
//!
|
232
159
|
//! <b>Throws</b>: If value_traits::node_traits::node
|
233
160
|
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
234
161
|
//! or the copy constructor of the value_compare/priority_compare objects throw. Basic guarantee.
|
235
|
-
explicit treap_impl( const
|
162
|
+
explicit treap_impl( const key_compare &cmp = key_compare()
|
236
163
|
, const priority_compare &pcmp = priority_compare()
|
237
164
|
, const value_traits &v_traits = value_traits())
|
238
|
-
:
|
239
|
-
{
|
240
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
241
|
-
this->priv_size_traits().set_size(size_type(0));
|
242
|
-
}
|
165
|
+
: tree_type(cmp, v_traits), prio_base(pcmp)
|
166
|
+
{}
|
243
167
|
|
244
168
|
//! <b>Requires</b>: Dereferencing iterator must yield an lvalue of type value_type.
|
245
169
|
//! cmp must be a comparison function that induces a strict weak ordering.
|
246
170
|
//!
|
247
|
-
//! <b>Effects</b>: Constructs an empty
|
171
|
+
//! <b>Effects</b>: Constructs an empty container and inserts elements from
|
248
172
|
//! [b, e).
|
249
173
|
//!
|
250
174
|
//! <b>Complexity</b>: Linear in N if [b, e) is already sorted using
|
@@ -252,99 +176,53 @@ class treap_impl
|
|
252
176
|
//!
|
253
177
|
//! <b>Throws</b>: If value_traits::node_traits::node
|
254
178
|
//! constructor throws (this does not happen with predefined Boost.Intrusive hooks)
|
255
|
-
//! or the copy constructor/operator() of the
|
179
|
+
//! or the copy constructor/operator() of the key_compare/priority_compare objects
|
256
180
|
//! throw. Basic guarantee.
|
257
181
|
template<class Iterator>
|
258
182
|
treap_impl( bool unique, Iterator b, Iterator e
|
259
|
-
, const
|
183
|
+
, const key_compare &cmp = key_compare()
|
260
184
|
, const priority_compare &pcmp = priority_compare()
|
261
185
|
, const value_traits &v_traits = value_traits())
|
262
|
-
:
|
186
|
+
: tree_type(cmp, v_traits), prio_base(pcmp)
|
263
187
|
{
|
264
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
265
|
-
this->priv_size_traits().set_size(size_type(0));
|
266
188
|
if(unique)
|
267
189
|
this->insert_unique(b, e);
|
268
190
|
else
|
269
191
|
this->insert_equal(b, e);
|
270
192
|
}
|
271
193
|
|
272
|
-
//!
|
273
|
-
//!
|
194
|
+
//! @copydoc ::boost::intrusive::bstree::bstree(bstree &&)
|
274
195
|
treap_impl(BOOST_RV_REF(treap_impl) x)
|
275
|
-
:
|
276
|
-
|
277
|
-
|
278
|
-
{
|
279
|
-
node_algorithms::init_header(this->priv_header_ptr());
|
280
|
-
this->priv_size_traits().set_size(size_type(0));
|
281
|
-
this->swap(x);
|
282
|
-
}
|
196
|
+
: tree_type(BOOST_MOVE_BASE(tree_type, x))
|
197
|
+
, prio_base(::boost::move(x.priv_pcomp()))
|
198
|
+
{}
|
283
199
|
|
284
|
-
//!
|
285
|
-
//!
|
200
|
+
//! @copydoc ::boost::intrusive::bstree::operator=(bstree &&)
|
286
201
|
treap_impl& operator=(BOOST_RV_REF(treap_impl) x)
|
287
202
|
{ this->swap(x); return *this; }
|
288
203
|
|
289
|
-
|
290
|
-
//!
|
291
|
-
|
292
|
-
//!
|
293
|
-
//! <b>Complexity</b>: Linear to elements contained in *this
|
294
|
-
//! if constant-time size option is disabled. Constant time otherwise.
|
295
|
-
//!
|
296
|
-
//! <b>Throws</b>: Nothing.
|
297
|
-
~treap_impl()
|
298
|
-
{}
|
204
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
205
|
+
//! @copydoc ::boost::intrusive::bstree::~bstree()
|
206
|
+
~treap_impl();
|
299
207
|
|
300
|
-
//!
|
301
|
-
|
302
|
-
//! <b>Complexity</b>: Constant.
|
303
|
-
//!
|
304
|
-
//! <b>Throws</b>: Nothing.
|
305
|
-
iterator begin()
|
306
|
-
{ return iterator (node_traits::get_left(this->priv_header_ptr()), this); }
|
208
|
+
//! @copydoc ::boost::intrusive::bstree::begin()
|
209
|
+
iterator begin();
|
307
210
|
|
308
|
-
//!
|
309
|
-
|
310
|
-
//! <b>Complexity</b>: Constant.
|
311
|
-
//!
|
312
|
-
//! <b>Throws</b>: Nothing.
|
313
|
-
const_iterator begin() const
|
314
|
-
{ return this->cbegin(); }
|
211
|
+
//! @copydoc ::boost::intrusive::bstree::begin()const
|
212
|
+
const_iterator begin() const;
|
315
213
|
|
316
|
-
//!
|
317
|
-
|
318
|
-
//! <b>Complexity</b>: Constant.
|
319
|
-
//!
|
320
|
-
//! <b>Throws</b>: Nothing.
|
321
|
-
const_iterator cbegin() const
|
322
|
-
{ return const_iterator (node_traits::get_left(this->priv_header_ptr()), this); }
|
214
|
+
//! @copydoc ::boost::intrusive::bstree::cbegin()const
|
215
|
+
const_iterator cbegin() const;
|
323
216
|
|
324
|
-
//!
|
325
|
-
|
326
|
-
//! <b>Complexity</b>: Constant.
|
327
|
-
//!
|
328
|
-
//! <b>Throws</b>: Nothing.
|
329
|
-
iterator end()
|
330
|
-
{ return iterator (this->priv_header_ptr(), this); }
|
217
|
+
//! @copydoc ::boost::intrusive::bstree::end()
|
218
|
+
iterator end();
|
331
219
|
|
332
|
-
//!
|
333
|
-
|
334
|
-
//! <b>Complexity</b>: Constant.
|
335
|
-
//!
|
336
|
-
//! <b>Throws</b>: Nothing.
|
337
|
-
const_iterator end() const
|
338
|
-
{ return this->cend(); }
|
339
|
-
|
340
|
-
//! <b>Effects</b>: Returns a const_iterator pointing to the end of the treap.
|
341
|
-
//!
|
342
|
-
//! <b>Complexity</b>: Constant.
|
343
|
-
//!
|
344
|
-
//! <b>Throws</b>: Nothing.
|
345
|
-
const_iterator cend() const
|
346
|
-
{ return const_iterator (uncast(this->priv_header_ptr()), this); }
|
220
|
+
//! @copydoc ::boost::intrusive::bstree::end()const
|
221
|
+
const_iterator end() const;
|
347
222
|
|
223
|
+
//! @copydoc ::boost::intrusive::bstree::cend()const
|
224
|
+
const_iterator cend() const;
|
225
|
+
#endif
|
348
226
|
|
349
227
|
//! <b>Effects</b>: Returns an iterator pointing to the highest priority object of the treap.
|
350
228
|
//!
|
@@ -352,7 +230,7 @@ class treap_impl
|
|
352
230
|
//!
|
353
231
|
//! <b>Throws</b>: Nothing.
|
354
232
|
iterator top()
|
355
|
-
{ return this->
|
233
|
+
{ return this->tree_type::root(); }
|
356
234
|
|
357
235
|
//! <b>Effects</b>: Returns a const_iterator pointing to the highest priority object of the treap..
|
358
236
|
//!
|
@@ -368,61 +246,27 @@ class treap_impl
|
|
368
246
|
//!
|
369
247
|
//! <b>Throws</b>: Nothing.
|
370
248
|
const_iterator ctop() const
|
371
|
-
{ return this->
|
249
|
+
{ return this->tree_type::root(); }
|
372
250
|
|
373
|
-
|
374
|
-
//!
|
375
|
-
|
376
|
-
//! <b>Complexity</b>: Constant.
|
377
|
-
//!
|
378
|
-
//! <b>Throws</b>: Nothing.
|
379
|
-
reverse_iterator rbegin()
|
380
|
-
{ return reverse_iterator(this->end()); }
|
251
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
252
|
+
//! @copydoc ::boost::intrusive::bstree::rbegin()
|
253
|
+
reverse_iterator rbegin();
|
381
254
|
|
382
|
-
//!
|
383
|
-
|
384
|
-
//!
|
385
|
-
//! <b>Complexity</b>: Constant.
|
386
|
-
//!
|
387
|
-
//! <b>Throws</b>: Nothing.
|
388
|
-
const_reverse_iterator rbegin() const
|
389
|
-
{ return const_reverse_iterator(this->end()); }
|
255
|
+
//! @copydoc ::boost::intrusive::bstree::rbegin()const
|
256
|
+
const_reverse_iterator rbegin() const;
|
390
257
|
|
391
|
-
//!
|
392
|
-
|
393
|
-
//!
|
394
|
-
//! <b>Complexity</b>: Constant.
|
395
|
-
//!
|
396
|
-
//! <b>Throws</b>: Nothing.
|
397
|
-
const_reverse_iterator crbegin() const
|
398
|
-
{ return const_reverse_iterator(this->end()); }
|
258
|
+
//! @copydoc ::boost::intrusive::bstree::crbegin()const
|
259
|
+
const_reverse_iterator crbegin() const;
|
399
260
|
|
400
|
-
//!
|
401
|
-
|
402
|
-
//!
|
403
|
-
//! <b>Complexity</b>: Constant.
|
404
|
-
//!
|
405
|
-
//! <b>Throws</b>: Nothing.
|
406
|
-
reverse_iterator rend()
|
407
|
-
{ return reverse_iterator(this->begin()); }
|
261
|
+
//! @copydoc ::boost::intrusive::bstree::rend()
|
262
|
+
reverse_iterator rend();
|
408
263
|
|
409
|
-
//!
|
410
|
-
|
411
|
-
//!
|
412
|
-
//! <b>Complexity</b>: Constant.
|
413
|
-
//!
|
414
|
-
//! <b>Throws</b>: Nothing.
|
415
|
-
const_reverse_iterator rend() const
|
416
|
-
{ return const_reverse_iterator(this->begin()); }
|
264
|
+
//! @copydoc ::boost::intrusive::bstree::rend()const
|
265
|
+
const_reverse_iterator rend() const;
|
417
266
|
|
418
|
-
//!
|
419
|
-
|
420
|
-
|
421
|
-
//! <b>Complexity</b>: Constant.
|
422
|
-
//!
|
423
|
-
//! <b>Throws</b>: Nothing.
|
424
|
-
const_reverse_iterator crend() const
|
425
|
-
{ return const_reverse_iterator(this->begin()); }
|
267
|
+
//! @copydoc ::boost::intrusive::bstree::crend()const
|
268
|
+
const_reverse_iterator crend() const;
|
269
|
+
#endif
|
426
270
|
|
427
271
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the highest priority object of the
|
428
272
|
//! reversed treap.
|
@@ -451,59 +295,33 @@ class treap_impl
|
|
451
295
|
const_reverse_iterator crtop() const
|
452
296
|
{ return const_reverse_iterator(this->top()); }
|
453
297
|
|
454
|
-
|
455
|
-
//!
|
456
|
-
|
457
|
-
//! <b>Effects</b>: Returns a const reference to the treap associated to the end iterator
|
458
|
-
//!
|
459
|
-
//! <b>Throws</b>: Nothing.
|
460
|
-
//!
|
461
|
-
//! <b>Complexity</b>: Constant.
|
462
|
-
static treap_impl &container_from_end_iterator(iterator end_iterator)
|
463
|
-
{ return priv_container_from_end_iterator(end_iterator); }
|
298
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
299
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(iterator)
|
300
|
+
static treap_impl &container_from_end_iterator(iterator end_iterator);
|
464
301
|
|
465
|
-
//!
|
466
|
-
|
467
|
-
//!
|
468
|
-
//! <b>Effects</b>: Returns a const reference to the treap associated to the iterator
|
469
|
-
//!
|
470
|
-
//! <b>Throws</b>: Nothing.
|
471
|
-
//!
|
472
|
-
//! <b>Complexity</b>: Constant.
|
473
|
-
static const treap_impl &container_from_end_iterator(const_iterator end_iterator)
|
474
|
-
{ return priv_container_from_end_iterator(end_iterator); }
|
302
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_end_iterator(const_iterator)
|
303
|
+
static const treap_impl &container_from_end_iterator(const_iterator end_iterator);
|
475
304
|
|
476
|
-
//!
|
477
|
-
|
478
|
-
//!
|
479
|
-
//! <b>Effects</b>: Returns a const reference to the treap associated to the iterator
|
480
|
-
//!
|
481
|
-
//! <b>Throws</b>: Nothing.
|
482
|
-
//!
|
483
|
-
//! <b>Complexity</b>: Logarithmic.
|
484
|
-
static treap_impl &container_from_iterator(iterator it)
|
485
|
-
{ return priv_container_from_iterator(it); }
|
305
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_iterator(iterator)
|
306
|
+
static treap_impl &container_from_iterator(iterator it);
|
486
307
|
|
487
|
-
//!
|
488
|
-
|
489
|
-
//!
|
490
|
-
//! <b>Effects</b>: Returns a const reference to the treap associated to the end iterator
|
491
|
-
//!
|
492
|
-
//! <b>Throws</b>: Nothing.
|
493
|
-
//!
|
494
|
-
//! <b>Complexity</b>: Logarithmic.
|
495
|
-
static const treap_impl &container_from_iterator(const_iterator it)
|
496
|
-
{ return priv_container_from_iterator(it); }
|
308
|
+
//! @copydoc ::boost::intrusive::bstree::container_from_iterator(const_iterator)
|
309
|
+
static const treap_impl &container_from_iterator(const_iterator it);
|
497
310
|
|
498
|
-
//!
|
499
|
-
|
500
|
-
//! <b>Complexity</b>: Constant.
|
501
|
-
//!
|
502
|
-
//! <b>Throws</b>: If value_compare copy-constructor throws.
|
503
|
-
value_compare value_comp() const
|
504
|
-
{ return this->priv_comp(); }
|
311
|
+
//! @copydoc ::boost::intrusive::bstree::key_comp()const
|
312
|
+
key_compare key_comp() const;
|
505
313
|
|
506
|
-
//!
|
314
|
+
//! @copydoc ::boost::intrusive::bstree::value_comp()const
|
315
|
+
value_compare value_comp() const;
|
316
|
+
|
317
|
+
//! @copydoc ::boost::intrusive::bstree::empty()const
|
318
|
+
bool empty() const;
|
319
|
+
|
320
|
+
//! @copydoc ::boost::intrusive::bstree::size()const
|
321
|
+
size_type size() const;
|
322
|
+
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
323
|
+
|
324
|
+
//! <b>Effects</b>: Returns the priority_compare object used by the container.
|
507
325
|
//!
|
508
326
|
//! <b>Complexity</b>: Constant.
|
509
327
|
//!
|
@@ -511,115 +329,127 @@ class treap_impl
|
|
511
329
|
priority_compare priority_comp() const
|
512
330
|
{ return this->priv_pcomp(); }
|
513
331
|
|
514
|
-
//! <b>Effects</b>:
|
332
|
+
//! <b>Effects</b>: Swaps the contents of two treaps.
|
515
333
|
//!
|
516
334
|
//! <b>Complexity</b>: Constant.
|
517
335
|
//!
|
518
|
-
//! <b>Throws</b>:
|
519
|
-
|
520
|
-
{
|
336
|
+
//! <b>Throws</b>: If the comparison functor's swap call throws.
|
337
|
+
void swap(treap_impl& other)
|
338
|
+
{
|
339
|
+
tree_type::swap(other);
|
340
|
+
//This can throw
|
341
|
+
::boost::adl_move_swap(this->priv_pcomp(), other.priv_pcomp());
|
342
|
+
}
|
521
343
|
|
522
|
-
//! <b>
|
344
|
+
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
345
|
+
//! Cloner should yield to nodes equivalent to the original nodes.
|
523
346
|
//!
|
524
|
-
//! <b>
|
525
|
-
//!
|
347
|
+
//! <b>Effects</b>: Erases all the elements from *this
|
348
|
+
//! calling Disposer::operator()(pointer), clones all the
|
349
|
+
//! elements from src calling Cloner::operator()(const_reference )
|
350
|
+
//! and inserts them on *this. Copies the predicate from the source container.
|
526
351
|
//!
|
527
|
-
//!
|
528
|
-
|
352
|
+
//! If cloner throws, all cloned elements are unlinked and disposed
|
353
|
+
//! calling Disposer::operator()(pointer).
|
354
|
+
//!
|
355
|
+
//! <b>Complexity</b>: Linear to erased plus inserted elements.
|
356
|
+
//!
|
357
|
+
//! <b>Throws</b>: If cloner throws or predicate copy assignment throws. Basic guarantee.
|
358
|
+
template <class Cloner, class Disposer>
|
359
|
+
void clone_from(const treap_impl &src, Cloner cloner, Disposer disposer)
|
529
360
|
{
|
530
|
-
|
531
|
-
|
532
|
-
else{
|
533
|
-
return (size_type)node_algorithms::size(this->priv_header_ptr());
|
534
|
-
}
|
361
|
+
tree_type::clone_from(src, cloner, disposer);
|
362
|
+
this->priv_pcomp() = src.priv_pcomp();
|
535
363
|
}
|
536
364
|
|
537
|
-
//! <b>
|
365
|
+
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
366
|
+
//! Cloner should yield to nodes equivalent to the original nodes.
|
538
367
|
//!
|
539
|
-
//! <b>
|
368
|
+
//! <b>Effects</b>: Erases all the elements from *this
|
369
|
+
//! calling Disposer::operator()(pointer), clones all the
|
370
|
+
//! elements from src calling Cloner::operator()(reference)
|
371
|
+
//! and inserts them on *this. Copies the predicate from the source container.
|
540
372
|
//!
|
541
|
-
//!
|
542
|
-
|
373
|
+
//! If cloner throws, all cloned elements are unlinked and disposed
|
374
|
+
//! calling Disposer::operator()(pointer).
|
375
|
+
//!
|
376
|
+
//! <b>Complexity</b>: Linear to erased plus inserted elements.
|
377
|
+
//!
|
378
|
+
//! <b>Throws</b>: If cloner throws or predicate copy assignment throws. Basic guarantee.
|
379
|
+
template <class Cloner, class Disposer>
|
380
|
+
void clone_from(BOOST_RV_REF(treap_impl) src, Cloner cloner, Disposer disposer)
|
543
381
|
{
|
544
|
-
|
545
|
-
|
546
|
-
swap(priv_comp(), priv_comp());
|
547
|
-
swap(priv_pcomp(), priv_pcomp());
|
548
|
-
//These can't throw
|
549
|
-
node_algorithms::swap_tree(this->priv_header_ptr(), other.priv_header_ptr());
|
550
|
-
if(constant_time_size){
|
551
|
-
size_type backup = this->priv_size_traits().get_size();
|
552
|
-
this->priv_size_traits().set_size(other.priv_size_traits().get_size());
|
553
|
-
other.priv_size_traits().set_size(backup);
|
554
|
-
}
|
382
|
+
tree_type::clone_from(BOOST_MOVE_BASE(tree_type, src), cloner, disposer);
|
383
|
+
this->priv_pcomp() = ::boost::move(src.priv_pcomp());
|
555
384
|
}
|
556
385
|
|
557
386
|
//! <b>Requires</b>: value must be an lvalue
|
558
387
|
//!
|
559
|
-
//! <b>Effects</b>: Inserts value into the
|
388
|
+
//! <b>Effects</b>: Inserts value into the container before the upper bound.
|
560
389
|
//!
|
561
390
|
//! <b>Complexity</b>: Average complexity for insert element is at
|
562
391
|
//! most logarithmic.
|
563
392
|
//!
|
564
|
-
//! <b>Throws</b>: If the internal
|
393
|
+
//! <b>Throws</b>: If the internal key_compare or priority_compare functions throw. Strong guarantee.
|
565
394
|
//!
|
566
395
|
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
567
396
|
//! No copy-constructors are called.
|
568
397
|
iterator insert_equal(reference value)
|
569
398
|
{
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
this->
|
399
|
+
node_ptr to_insert(this->get_value_traits().to_node_ptr(value));
|
400
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
|
401
|
+
iterator ret
|
402
|
+
( node_algorithms::insert_equal_upper_bound
|
403
|
+
( this->tree_type::header_ptr()
|
404
|
+
, to_insert
|
405
|
+
, this->key_node_comp(this->key_comp())
|
406
|
+
, this->value_node_prio_comp())
|
407
|
+
, this->priv_value_traits_ptr());
|
408
|
+
this->tree_type::sz_traits().increment();
|
580
409
|
return ret;
|
581
410
|
}
|
582
411
|
|
583
412
|
//! <b>Requires</b>: value must be an lvalue, and "hint" must be
|
584
413
|
//! a valid iterator.
|
585
414
|
//!
|
586
|
-
//! <b>Effects</b>: Inserts x into the
|
415
|
+
//! <b>Effects</b>: Inserts x into the container, using "hint" as a hint to
|
587
416
|
//! where it will be inserted. If "hint" is the upper_bound
|
588
417
|
//! the insertion takes constant time (two comparisons in the worst case)
|
589
418
|
//!
|
590
419
|
//! <b>Complexity</b>: Logarithmic in general, but it is amortized
|
591
420
|
//! constant time if t is inserted immediately before hint.
|
592
421
|
//!
|
593
|
-
//! <b>Throws</b>: If the internal
|
422
|
+
//! <b>Throws</b>: If the internal key_compare or priority_compare functions throw. Strong guarantee.
|
594
423
|
//!
|
595
424
|
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
596
425
|
//! No copy-constructors are called.
|
597
426
|
iterator insert_equal(const_iterator hint, reference value)
|
598
427
|
{
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
428
|
+
node_ptr to_insert(this->get_value_traits().to_node_ptr(value));
|
429
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
|
430
|
+
iterator ret
|
431
|
+
(node_algorithms::insert_equal
|
432
|
+
( this->tree_type::header_ptr()
|
433
|
+
, hint.pointed_node()
|
434
|
+
, to_insert
|
435
|
+
, this->key_node_comp(this->key_comp())
|
436
|
+
, this->value_node_prio_comp())
|
437
|
+
, this->priv_value_traits_ptr());
|
438
|
+
this->tree_type::sz_traits().increment();
|
609
439
|
return ret;
|
610
440
|
}
|
611
441
|
|
612
442
|
//! <b>Requires</b>: Dereferencing iterator must yield an lvalue
|
613
443
|
//! of type value_type.
|
614
444
|
//!
|
615
|
-
//! <b>Effects</b>: Inserts a each element of a range into the
|
445
|
+
//! <b>Effects</b>: Inserts a each element of a range into the container
|
616
446
|
//! before the upper bound of the key of each element.
|
617
447
|
//!
|
618
448
|
//! <b>Complexity</b>: Insert range is in general O(N * log(N)), where N is the
|
619
449
|
//! size of the range. However, it is linear in N if the range is already sorted
|
620
|
-
//! by
|
450
|
+
//! by key_comp().
|
621
451
|
//!
|
622
|
-
//! <b>Throws</b>: If the internal
|
452
|
+
//! <b>Throws</b>: If the internal key_compare or priority_compare functions throw.
|
623
453
|
//! Strong guarantee.
|
624
454
|
//!
|
625
455
|
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
@@ -634,13 +464,13 @@ class treap_impl
|
|
634
464
|
|
635
465
|
//! <b>Requires</b>: value must be an lvalue
|
636
466
|
//!
|
637
|
-
//! <b>Effects</b>: Inserts value into the
|
467
|
+
//! <b>Effects</b>: Inserts value into the container if the value
|
638
468
|
//! is not already present.
|
639
469
|
//!
|
640
470
|
//! <b>Complexity</b>: Average complexity for insert element is at
|
641
471
|
//! most logarithmic.
|
642
472
|
//!
|
643
|
-
//! <b>Throws</b>: If the internal
|
473
|
+
//! <b>Throws</b>: If the internal key_compare or priority_compare functions throw.
|
644
474
|
//! Strong guarantee.
|
645
475
|
//!
|
646
476
|
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
@@ -648,23 +478,24 @@ class treap_impl
|
|
648
478
|
std::pair<iterator, bool> insert_unique(reference value)
|
649
479
|
{
|
650
480
|
insert_commit_data commit_data;
|
651
|
-
std::pair<iterator, bool> ret = insert_unique_check
|
481
|
+
std::pair<iterator, bool> ret = this->insert_unique_check
|
482
|
+
(value, this->comp(), this->priv_pcomp(), commit_data);
|
652
483
|
if(!ret.second)
|
653
484
|
return ret;
|
654
|
-
return std::pair<iterator, bool> (insert_unique_commit(value, commit_data), true);
|
485
|
+
return std::pair<iterator, bool> (this->insert_unique_commit(value, commit_data), true);
|
655
486
|
}
|
656
487
|
|
657
488
|
//! <b>Requires</b>: value must be an lvalue, and "hint" must be
|
658
489
|
//! a valid iterator
|
659
490
|
//!
|
660
|
-
//! <b>Effects</b>: Tries to insert x into the
|
491
|
+
//! <b>Effects</b>: Tries to insert x into the container, using "hint" as a hint
|
661
492
|
//! to where it will be inserted.
|
662
493
|
//!
|
663
494
|
//! <b>Complexity</b>: Logarithmic in general, but it is amortized
|
664
495
|
//! constant time (two comparisons in the worst case)
|
665
496
|
//! if t is inserted immediately before hint.
|
666
497
|
//!
|
667
|
-
//! <b>Throws</b>: If the internal
|
498
|
+
//! <b>Throws</b>: If the internal key_compare or priority_compare functions throw.
|
668
499
|
//! Strong guarantee.
|
669
500
|
//!
|
670
501
|
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
@@ -672,22 +503,23 @@ class treap_impl
|
|
672
503
|
iterator insert_unique(const_iterator hint, reference value)
|
673
504
|
{
|
674
505
|
insert_commit_data commit_data;
|
675
|
-
std::pair<iterator, bool> ret = insert_unique_check
|
506
|
+
std::pair<iterator, bool> ret = this->insert_unique_check
|
507
|
+
(hint, value, this->comp(), this->priv_pcomp(), commit_data);
|
676
508
|
if(!ret.second)
|
677
509
|
return ret.first;
|
678
|
-
return insert_unique_commit(value, commit_data);
|
510
|
+
return this->insert_unique_commit(value, commit_data);
|
679
511
|
}
|
680
512
|
|
681
513
|
//! <b>Requires</b>: Dereferencing iterator must yield an lvalue
|
682
514
|
//! of type value_type.
|
683
515
|
//!
|
684
|
-
//! <b>Effects</b>: Tries to insert each element of a range into the
|
516
|
+
//! <b>Effects</b>: Tries to insert each element of a range into the container.
|
685
517
|
//!
|
686
518
|
//! <b>Complexity</b>: Insert range is in general O(N * log(N)), where N is the
|
687
519
|
//! size of the range. However, it is linear in N if the range is already sorted
|
688
|
-
//! by
|
520
|
+
//! by key_comp().
|
689
521
|
//!
|
690
|
-
//! <b>Throws</b>: If the internal
|
522
|
+
//! <b>Throws</b>: If the internal key_compare or priority_compare functions throw.
|
691
523
|
//! Strong guarantee.
|
692
524
|
//!
|
693
525
|
//! <b>Note</b>: Does not affect the validity of iterators and references.
|
@@ -706,11 +538,11 @@ class treap_impl
|
|
706
538
|
}
|
707
539
|
}
|
708
540
|
|
709
|
-
//! <b>Requires</b>:
|
710
|
-
//! the same strict weak ordering as
|
541
|
+
//! <b>Requires</b>: comp must be a comparison function that induces
|
542
|
+
//! the same strict weak ordering as key_compare.
|
711
543
|
//! key_value_pcomp must be a comparison function that induces
|
712
544
|
//! the same strict weak ordering as priority_compare. The difference is that
|
713
|
-
//! key_value_pcomp and
|
545
|
+
//! key_value_pcomp and comp compare an arbitrary key with the contained values.
|
714
546
|
//!
|
715
547
|
//! <b>Effects</b>: Checks if a value can be inserted in the container, using
|
716
548
|
//! a user provided key instead of the value itself.
|
@@ -723,7 +555,7 @@ class treap_impl
|
|
723
555
|
//!
|
724
556
|
//! <b>Complexity</b>: Average complexity is at most logarithmic.
|
725
557
|
//!
|
726
|
-
//! <b>Throws</b>: If the
|
558
|
+
//! <b>Throws</b>: If the comp or key_value_pcomp
|
727
559
|
//! ordering functions throw. Strong guarantee.
|
728
560
|
//!
|
729
561
|
//! <b>Notes</b>: This function is used to improve performance when constructing
|
@@ -739,26 +571,23 @@ class treap_impl
|
|
739
571
|
//!
|
740
572
|
//! "commit_data" remains valid for a subsequent "insert_commit" only if no more
|
741
573
|
//! objects are inserted or erased from the container.
|
742
|
-
template<class KeyType, class
|
574
|
+
template<class KeyType, class KeyTypeKeyCompare, class KeyValuePrioCompare>
|
743
575
|
std::pair<iterator, bool> insert_unique_check
|
744
|
-
( const KeyType &key,
|
576
|
+
( const KeyType &key, KeyTypeKeyCompare comp
|
745
577
|
, KeyValuePrioCompare key_value_pcomp, insert_commit_data &commit_data)
|
746
578
|
{
|
747
|
-
|
748
|
-
comp(key_value_comp, this);
|
749
|
-
detail::key_nodeptr_comp<KeyValuePrioCompare, treap_impl>
|
750
|
-
pcomp(key_value_pcomp, this);
|
751
|
-
std::pair<node_ptr, bool> ret =
|
579
|
+
std::pair<node_ptr, bool> const ret =
|
752
580
|
(node_algorithms::insert_unique_check
|
753
|
-
(this->
|
754
|
-
|
581
|
+
( this->tree_type::header_ptr(), key
|
582
|
+
, this->key_node_comp(comp), this->key_node_prio_comp(key_value_pcomp), commit_data));
|
583
|
+
return std::pair<iterator, bool>(iterator(ret.first, this->priv_value_traits_ptr()), ret.second);
|
755
584
|
}
|
756
585
|
|
757
|
-
//! <b>Requires</b>:
|
758
|
-
//! the same strict weak ordering as
|
586
|
+
//! <b>Requires</b>: comp must be a comparison function that induces
|
587
|
+
//! the same strict weak ordering as key_compare.
|
759
588
|
//! key_value_pcomp must be a comparison function that induces
|
760
589
|
//! the same strict weak ordering as priority_compare. The difference is that
|
761
|
-
//! key_value_pcomp and
|
590
|
+
//! key_value_pcomp and comp compare an arbitrary key with the contained values.
|
762
591
|
//!
|
763
592
|
//! <b>Effects</b>: Checks if a value can be inserted in the container, using
|
764
593
|
//! a user provided key instead of the value itself, using "hint"
|
@@ -773,7 +602,7 @@ class treap_impl
|
|
773
602
|
//! <b>Complexity</b>: Logarithmic in general, but it's amortized
|
774
603
|
//! constant time if t is inserted immediately before hint.
|
775
604
|
//!
|
776
|
-
//! <b>Throws</b>: If the
|
605
|
+
//! <b>Throws</b>: If the comp or key_value_pcomp
|
777
606
|
//! ordering functions throw. Strong guarantee.
|
778
607
|
//!
|
779
608
|
//! <b>Notes</b>: This function is used to improve performance when constructing
|
@@ -789,21 +618,18 @@ class treap_impl
|
|
789
618
|
//!
|
790
619
|
//! "commit_data" remains valid for a subsequent "insert_commit" only if no more
|
791
620
|
//! objects are inserted or erased from the container.
|
792
|
-
template<class KeyType, class
|
621
|
+
template<class KeyType, class KeyTypeKeyCompare, class KeyValuePrioCompare>
|
793
622
|
std::pair<iterator, bool> insert_unique_check
|
794
623
|
( const_iterator hint, const KeyType &key
|
795
|
-
,
|
624
|
+
, KeyTypeKeyCompare comp
|
796
625
|
, KeyValuePrioCompare key_value_pcomp
|
797
626
|
, insert_commit_data &commit_data)
|
798
627
|
{
|
799
|
-
|
800
|
-
comp(key_value_comp, this);
|
801
|
-
detail::key_nodeptr_comp<KeyValuePrioCompare, treap_impl>
|
802
|
-
pcomp(key_value_pcomp, this);
|
803
|
-
std::pair<node_ptr, bool> ret =
|
628
|
+
std::pair<node_ptr, bool> const ret =
|
804
629
|
(node_algorithms::insert_unique_check
|
805
|
-
(this->
|
806
|
-
|
630
|
+
( this->tree_type::header_ptr(), hint.pointed_node(), key
|
631
|
+
, this->key_node_comp(comp), this->key_node_prio_comp(key_value_pcomp), commit_data));
|
632
|
+
return std::pair<iterator, bool>(iterator(ret.first, this->priv_value_traits_ptr()), ret.second);
|
807
633
|
}
|
808
634
|
|
809
635
|
//! <b>Requires</b>: value must be an lvalue of type value_type. commit_data
|
@@ -825,92 +651,84 @@ class treap_impl
|
|
825
651
|
//! erased between the "insert_check" and "insert_commit" calls.
|
826
652
|
iterator insert_unique_commit(reference value, const insert_commit_data &commit_data)
|
827
653
|
{
|
828
|
-
node_ptr to_insert(
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
this->
|
833
|
-
return iterator(to_insert, this);
|
654
|
+
node_ptr to_insert(this->get_value_traits().to_node_ptr(value));
|
655
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
|
656
|
+
node_algorithms::insert_unique_commit(this->tree_type::header_ptr(), to_insert, commit_data);
|
657
|
+
this->tree_type::sz_traits().increment();
|
658
|
+
return iterator(to_insert, this->priv_value_traits_ptr());
|
834
659
|
}
|
835
660
|
|
836
661
|
//! <b>Requires</b>: value must be an lvalue, "pos" must be
|
837
662
|
//! a valid iterator (or end) and must be the succesor of value
|
838
663
|
//! once inserted according to the predicate
|
839
664
|
//!
|
840
|
-
//! <b>Effects</b>: Inserts x into the
|
665
|
+
//! <b>Effects</b>: Inserts x into the container before "pos".
|
841
666
|
//!
|
842
667
|
//! <b>Complexity</b>: Constant time.
|
843
668
|
//!
|
844
669
|
//! <b>Throws</b>: If the internal priority_compare function throws. Strong guarantee.
|
845
670
|
//!
|
846
671
|
//! <b>Note</b>: This function does not check preconditions so if "pos" is not
|
847
|
-
//! the successor of "value"
|
672
|
+
//! the successor of "value" container ordering invariant will be broken.
|
848
673
|
//! This is a low-level function to be used only for performance reasons
|
849
674
|
//! by advanced users.
|
850
675
|
iterator insert_before(const_iterator pos, reference value)
|
851
676
|
{
|
852
|
-
node_ptr to_insert(
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
this->priv_size_traits().increment();
|
677
|
+
node_ptr to_insert(this->get_value_traits().to_node_ptr(value));
|
678
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
|
679
|
+
iterator ret
|
680
|
+
( node_algorithms::insert_before
|
681
|
+
( this->tree_type::header_ptr(), pos.pointed_node(), to_insert, this->value_node_prio_comp())
|
682
|
+
, this->priv_value_traits_ptr());
|
683
|
+
this->tree_type::sz_traits().increment();
|
860
684
|
return ret;
|
861
685
|
}
|
862
686
|
|
863
687
|
//! <b>Requires</b>: value must be an lvalue, and it must be no less
|
864
688
|
//! than the greatest inserted key
|
865
689
|
//!
|
866
|
-
//! <b>Effects</b>: Inserts x into the
|
690
|
+
//! <b>Effects</b>: Inserts x into the container in the last position.
|
867
691
|
//!
|
868
692
|
//! <b>Complexity</b>: Constant time.
|
869
693
|
//!
|
870
694
|
//! <b>Throws</b>: If the internal priority_compare function throws. Strong guarantee.
|
871
695
|
//!
|
872
696
|
//! <b>Note</b>: This function does not check preconditions so if value is
|
873
|
-
//! less than the greatest inserted key
|
697
|
+
//! less than the greatest inserted key container ordering invariant will be broken.
|
874
698
|
//! This function is slightly more efficient than using "insert_before".
|
875
699
|
//! This is a low-level function to be used only for performance reasons
|
876
700
|
//! by advanced users.
|
877
701
|
void push_back(reference value)
|
878
702
|
{
|
879
|
-
node_ptr to_insert(
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
pcomp(priv_pcomp(), this);
|
884
|
-
node_algorithms::push_back(this->priv_header_ptr(), to_insert, pcomp);
|
885
|
-
this->priv_size_traits().increment();
|
703
|
+
node_ptr to_insert(this->get_value_traits().to_node_ptr(value));
|
704
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
|
705
|
+
node_algorithms::push_back(this->tree_type::header_ptr(), to_insert, this->value_node_prio_comp());
|
706
|
+
this->tree_type::sz_traits().increment();
|
886
707
|
}
|
887
708
|
|
888
709
|
//! <b>Requires</b>: value must be an lvalue, and it must be no greater
|
889
710
|
//! than the minimum inserted key
|
890
711
|
//!
|
891
|
-
//! <b>Effects</b>: Inserts x into the
|
712
|
+
//! <b>Effects</b>: Inserts x into the container in the first position.
|
892
713
|
//!
|
893
714
|
//! <b>Complexity</b>: Constant time.
|
894
715
|
//!
|
895
716
|
//! <b>Throws</b>: If the internal priority_compare function throws. Strong guarantee.
|
896
717
|
//!
|
897
718
|
//! <b>Note</b>: This function does not check preconditions so if value is
|
898
|
-
//! greater than the minimum inserted key
|
719
|
+
//! greater than the minimum inserted key container ordering invariant will be broken.
|
899
720
|
//! This function is slightly more efficient than using "insert_before".
|
900
721
|
//! This is a low-level function to be used only for performance reasons
|
901
722
|
//! by advanced users.
|
902
723
|
void push_front(reference value)
|
903
724
|
{
|
904
|
-
node_ptr to_insert(
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
pcomp(priv_pcomp(), this);
|
909
|
-
node_algorithms::push_front(this->priv_header_ptr(), to_insert, pcomp);
|
910
|
-
this->priv_size_traits().increment();
|
725
|
+
node_ptr to_insert(this->get_value_traits().to_node_ptr(value));
|
726
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::unique(to_insert));
|
727
|
+
node_algorithms::push_front(this->tree_type::header_ptr(), to_insert, this->value_node_prio_comp());
|
728
|
+
this->tree_type::sz_traits().increment();
|
911
729
|
}
|
912
730
|
|
913
|
-
//! <b>Effects</b>: Erases the element pointed to by
|
731
|
+
//! <b>Effects</b>: Erases the element pointed to by i.
|
914
732
|
//!
|
915
733
|
//! <b>Complexity</b>: Average complexity for erase element is constant time.
|
916
734
|
//!
|
@@ -923,12 +741,9 @@ class treap_impl
|
|
923
741
|
const_iterator ret(i);
|
924
742
|
++ret;
|
925
743
|
node_ptr to_erase(i.pointed_node());
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
key_node_pcomp(priv_pcomp(), this);
|
930
|
-
node_algorithms::erase(this->priv_header_ptr(), to_erase, key_node_pcomp);
|
931
|
-
this->priv_size_traits().decrement();
|
744
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || !node_algorithms::unique(to_erase));
|
745
|
+
node_algorithms::erase(this->tree_type::header_ptr(), to_erase, this->value_node_prio_comp());
|
746
|
+
this->tree_type::sz_traits().decrement();
|
932
747
|
if(safemode_or_autounlink)
|
933
748
|
node_algorithms::init(to_erase);
|
934
749
|
return ret.unconst();
|
@@ -956,8 +771,8 @@ class treap_impl
|
|
956
771
|
//!
|
957
772
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
958
773
|
//! to the erased elements. No destructors are called.
|
959
|
-
size_type erase(
|
960
|
-
{ return this->erase(
|
774
|
+
size_type erase(const key_type &key)
|
775
|
+
{ return this->erase(key, this->key_comp()); }
|
961
776
|
|
962
777
|
//! <b>Effects</b>: Erases all the elements with the given key.
|
963
778
|
//! according to the comparison functor "comp".
|
@@ -971,12 +786,10 @@ class treap_impl
|
|
971
786
|
//!
|
972
787
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
973
788
|
//! to the erased elements. No destructors are called.
|
974
|
-
template<class KeyType, class
|
975
|
-
size_type
|
976
|
-
|
977
|
-
|
978
|
-
/// @endcond
|
979
|
-
)
|
789
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
790
|
+
BOOST_INTRUSIVE_DOC1ST(size_type
|
791
|
+
, typename detail::disable_if_convertible<KeyTypeKeyCompare BOOST_INTRUSIVE_I const_iterator BOOST_INTRUSIVE_I size_type>::type)
|
792
|
+
erase(const KeyType& key, KeyTypeKeyCompare comp)
|
980
793
|
{
|
981
794
|
std::pair<iterator,iterator> p = this->equal_range(key, comp);
|
982
795
|
size_type n;
|
@@ -986,7 +799,7 @@ class treap_impl
|
|
986
799
|
|
987
800
|
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
988
801
|
//!
|
989
|
-
//! <b>Effects</b>: Erases the element pointed to by
|
802
|
+
//! <b>Effects</b>: Erases the element pointed to by i.
|
990
803
|
//! Disposer::operator()(pointer) is called for the removed element.
|
991
804
|
//!
|
992
805
|
//! <b>Complexity</b>: Average complexity for erase element is constant time.
|
@@ -1000,7 +813,7 @@ class treap_impl
|
|
1000
813
|
{
|
1001
814
|
node_ptr to_erase(i.pointed_node());
|
1002
815
|
iterator ret(this->erase(i));
|
1003
|
-
disposer(
|
816
|
+
disposer(this->get_value_traits().to_value_ptr(to_erase));
|
1004
817
|
return ret;
|
1005
818
|
}
|
1006
819
|
|
@@ -1041,9 +854,9 @@ class treap_impl
|
|
1041
854
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1042
855
|
//! to the erased elements. No destructors are called.
|
1043
856
|
template<class Disposer>
|
1044
|
-
size_type erase_and_dispose(
|
857
|
+
size_type erase_and_dispose(const key_type &key, Disposer disposer)
|
1045
858
|
{
|
1046
|
-
std::pair<iterator,iterator> p = this->equal_range(
|
859
|
+
std::pair<iterator,iterator> p = this->equal_range(key);
|
1047
860
|
size_type n;
|
1048
861
|
private_erase(p.first, p.second, n, disposer);
|
1049
862
|
return n;
|
@@ -1064,12 +877,10 @@ class treap_impl
|
|
1064
877
|
//!
|
1065
878
|
//! <b>Note</b>: Invalidates the iterators
|
1066
879
|
//! to the erased elements.
|
1067
|
-
template<class KeyType, class
|
1068
|
-
size_type
|
1069
|
-
|
1070
|
-
|
1071
|
-
/// @endcond
|
1072
|
-
)
|
880
|
+
template<class KeyType, class KeyTypeKeyCompare, class Disposer>
|
881
|
+
BOOST_INTRUSIVE_DOC1ST(size_type
|
882
|
+
, typename detail::disable_if_convertible<KeyTypeKeyCompare BOOST_INTRUSIVE_I const_iterator BOOST_INTRUSIVE_I size_type>::type)
|
883
|
+
erase_and_dispose(const KeyType& key, KeyTypeKeyCompare comp, Disposer disposer)
|
1073
884
|
{
|
1074
885
|
std::pair<iterator,iterator> p = this->equal_range(key, comp);
|
1075
886
|
size_type n;
|
@@ -1087,15 +898,7 @@ class treap_impl
|
|
1087
898
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
1088
899
|
//! to the erased elements. No destructors are called.
|
1089
900
|
void clear()
|
1090
|
-
{
|
1091
|
-
if(safemode_or_autounlink){
|
1092
|
-
this->clear_and_dispose(detail::null_disposer());
|
1093
|
-
}
|
1094
|
-
else{
|
1095
|
-
node_algorithms::init_header(priv_header_ptr());
|
1096
|
-
this->priv_size_traits().set_size(0);
|
1097
|
-
}
|
1098
|
-
}
|
901
|
+
{ tree_type::clear(); }
|
1099
902
|
|
1100
903
|
//! <b>Effects</b>: Erases all of the elements calling disposer(p) for
|
1101
904
|
//! each node to be erased.
|
@@ -1109,484 +912,147 @@ class treap_impl
|
|
1109
912
|
template<class Disposer>
|
1110
913
|
void clear_and_dispose(Disposer disposer)
|
1111
914
|
{
|
1112
|
-
node_algorithms::clear_and_dispose(this->
|
1113
|
-
, detail::node_disposer<Disposer,
|
1114
|
-
node_algorithms::init_header(this->
|
1115
|
-
this->
|
915
|
+
node_algorithms::clear_and_dispose(this->tree_type::header_ptr()
|
916
|
+
, detail::node_disposer<Disposer, value_traits, TreapAlgorithms>(disposer, &this->get_value_traits()));
|
917
|
+
node_algorithms::init_header(this->tree_type::header_ptr());
|
918
|
+
this->tree_type::sz_traits().set_size(0);
|
1116
919
|
}
|
1117
920
|
|
1118
|
-
//!
|
1119
|
-
|
1120
|
-
|
1121
|
-
//! to number of objects with the given value.
|
1122
|
-
//!
|
1123
|
-
//! <b>Throws</b>: Nothing.
|
1124
|
-
size_type count(const_reference value) const
|
1125
|
-
{ return this->count(value, priv_comp()); }
|
1126
|
-
|
1127
|
-
//! <b>Effects</b>: Returns the number of contained elements with the given key
|
1128
|
-
//!
|
1129
|
-
//! <b>Complexity</b>: Logarithmic to the number of elements contained plus lineal
|
1130
|
-
//! to number of objects with the given key.
|
1131
|
-
//!
|
1132
|
-
//! <b>Throws</b>: Nothing.
|
1133
|
-
template<class KeyType, class KeyValueCompare>
|
1134
|
-
size_type count(const KeyType &key, KeyValueCompare comp) const
|
921
|
+
//! @copydoc ::boost::intrusive::bstree::check(ExtraChecker)const
|
922
|
+
template <class ExtraChecker>
|
923
|
+
void check(ExtraChecker extra_checker) const
|
1135
924
|
{
|
1136
|
-
|
1137
|
-
|
925
|
+
tree_type::check(detail::treap_node_extra_checker
|
926
|
+
<ValueTraits, value_node_prio_comp_t, ExtraChecker>(this->value_node_prio_comp(), extra_checker));
|
1138
927
|
}
|
1139
928
|
|
1140
|
-
//!
|
1141
|
-
|
1142
|
-
|
1143
|
-
//! <b>Complexity</b>: Logarithmic.
|
1144
|
-
//!
|
1145
|
-
//! <b>Throws</b>: Nothing.
|
1146
|
-
iterator lower_bound(const_reference value)
|
1147
|
-
{ return this->lower_bound(value, priv_comp()); }
|
929
|
+
//! @copydoc ::boost::intrusive::bstree::check()const
|
930
|
+
void check() const
|
931
|
+
{ check(detail::empty_node_checker<ValueTraits>()); }
|
1148
932
|
|
1149
|
-
|
1150
|
-
//!
|
1151
|
-
|
1152
|
-
//! <b>Complexity</b>: Logarithmic.
|
1153
|
-
//!
|
1154
|
-
//! <b>Throws</b>: Nothing.
|
1155
|
-
const_iterator lower_bound(const_reference value) const
|
1156
|
-
{ return this->lower_bound(value, priv_comp()); }
|
933
|
+
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
934
|
+
//! @copydoc ::boost::intrusive::bstree::count(const key_type &)const
|
935
|
+
size_type count(const key_type &key) const;
|
1157
936
|
|
1158
|
-
//!
|
1159
|
-
|
1160
|
-
|
1161
|
-
//! <b>Complexity</b>: Logarithmic.
|
1162
|
-
//!
|
1163
|
-
//! <b>Throws</b>: Nothing.
|
1164
|
-
template<class KeyType, class KeyValueCompare>
|
1165
|
-
iterator lower_bound(const KeyType &key, KeyValueCompare comp)
|
1166
|
-
{
|
1167
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1168
|
-
key_node_comp(comp, this);
|
1169
|
-
return iterator(node_algorithms::lower_bound
|
1170
|
-
(this->priv_header_ptr(), key, key_node_comp), this);
|
1171
|
-
}
|
937
|
+
//! @copydoc ::boost::intrusive::bstree::count(const KeyType&,KeyTypeKeyCompare)const
|
938
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
939
|
+
size_type count(const KeyType& key, KeyTypeKeyCompare comp) const;
|
1172
940
|
|
1173
|
-
//!
|
1174
|
-
|
1175
|
-
//!
|
1176
|
-
//! <b>Complexity</b>: Logarithmic.
|
1177
|
-
//!
|
1178
|
-
//! <b>Throws</b>: Nothing.
|
1179
|
-
template<class KeyType, class KeyValueCompare>
|
1180
|
-
const_iterator lower_bound(const KeyType &key, KeyValueCompare comp) const
|
1181
|
-
{
|
1182
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1183
|
-
key_node_comp(comp, this);
|
1184
|
-
return const_iterator(node_algorithms::lower_bound
|
1185
|
-
(this->priv_header_ptr(), key, key_node_comp), this);
|
1186
|
-
}
|
941
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const key_type &)
|
942
|
+
iterator lower_bound(const key_type &key);
|
1187
943
|
|
1188
|
-
//!
|
1189
|
-
|
1190
|
-
|
1191
|
-
//! <b>Complexity</b>: Logarithmic.
|
1192
|
-
//!
|
1193
|
-
//! <b>Throws</b>: Nothing.
|
1194
|
-
iterator upper_bound(const_reference value)
|
1195
|
-
{ return this->upper_bound(value, priv_comp()); }
|
944
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyTypeKeyCompare)
|
945
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
946
|
+
iterator lower_bound(const KeyType& key, KeyTypeKeyCompare comp);
|
1196
947
|
|
1197
|
-
//!
|
1198
|
-
|
1199
|
-
//! does not exist.
|
1200
|
-
//!
|
1201
|
-
//! <b>Complexity</b>: Logarithmic.
|
1202
|
-
//!
|
1203
|
-
//! <b>Throws</b>: Nothing.
|
1204
|
-
template<class KeyType, class KeyValueCompare>
|
1205
|
-
iterator upper_bound(const KeyType &key, KeyValueCompare comp)
|
1206
|
-
{
|
1207
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1208
|
-
key_node_comp(comp, this);
|
1209
|
-
return iterator(node_algorithms::upper_bound
|
1210
|
-
(this->priv_header_ptr(), key, key_node_comp), this);
|
1211
|
-
}
|
948
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const key_type &)const
|
949
|
+
const_iterator lower_bound(const key_type &key) const;
|
1212
950
|
|
1213
|
-
//!
|
1214
|
-
|
1215
|
-
|
1216
|
-
//! <b>Complexity</b>: Logarithmic.
|
1217
|
-
//!
|
1218
|
-
//! <b>Throws</b>: Nothing.
|
1219
|
-
const_iterator upper_bound(const_reference value) const
|
1220
|
-
{ return this->upper_bound(value, priv_comp()); }
|
951
|
+
//! @copydoc ::boost::intrusive::bstree::lower_bound(const KeyType&,KeyTypeKeyCompare)const
|
952
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
953
|
+
const_iterator lower_bound(const KeyType& key, KeyTypeKeyCompare comp) const;
|
1221
954
|
|
1222
|
-
//!
|
1223
|
-
|
1224
|
-
//! does not exist.
|
1225
|
-
//!
|
1226
|
-
//! <b>Complexity</b>: Logarithmic.
|
1227
|
-
//!
|
1228
|
-
//! <b>Throws</b>: Nothing.
|
1229
|
-
template<class KeyType, class KeyValueCompare>
|
1230
|
-
const_iterator upper_bound(const KeyType &key, KeyValueCompare comp) const
|
1231
|
-
{
|
1232
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1233
|
-
key_node_comp(comp, this);
|
1234
|
-
return const_iterator(node_algorithms::upper_bound
|
1235
|
-
(this->priv_header_ptr(), key, key_node_comp), this);
|
1236
|
-
}
|
955
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const key_type &)
|
956
|
+
iterator upper_bound(const key_type &key);
|
1237
957
|
|
1238
|
-
//!
|
1239
|
-
|
1240
|
-
|
1241
|
-
//! <b>Complexity</b>: Logarithmic.
|
1242
|
-
//!
|
1243
|
-
//! <b>Throws</b>: Nothing.
|
1244
|
-
iterator find(const_reference value)
|
1245
|
-
{ return this->find(value, priv_comp()); }
|
958
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyTypeKeyCompare)
|
959
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
960
|
+
iterator upper_bound(const KeyType& key, KeyTypeKeyCompare comp);
|
1246
961
|
|
1247
|
-
//!
|
1248
|
-
|
1249
|
-
//!
|
1250
|
-
//! <b>Complexity</b>: Logarithmic.
|
1251
|
-
//!
|
1252
|
-
//! <b>Throws</b>: Nothing.
|
1253
|
-
template<class KeyType, class KeyValueCompare>
|
1254
|
-
iterator find(const KeyType &key, KeyValueCompare comp)
|
1255
|
-
{
|
1256
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1257
|
-
key_node_comp(comp, this);
|
1258
|
-
return iterator
|
1259
|
-
(node_algorithms::find(this->priv_header_ptr(), key, key_node_comp), this);
|
1260
|
-
}
|
962
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const key_type &)const
|
963
|
+
const_iterator upper_bound(const key_type &key) const;
|
1261
964
|
|
1262
|
-
//!
|
1263
|
-
|
1264
|
-
|
1265
|
-
//! <b>Complexity</b>: Logarithmic.
|
1266
|
-
//!
|
1267
|
-
//! <b>Throws</b>: Nothing.
|
1268
|
-
const_iterator find(const_reference value) const
|
1269
|
-
{ return this->find(value, priv_comp()); }
|
965
|
+
//! @copydoc ::boost::intrusive::bstree::upper_bound(const KeyType&,KeyTypeKeyCompare)const
|
966
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
967
|
+
const_iterator upper_bound(const KeyType& key, KeyTypeKeyCompare comp) const;
|
1270
968
|
|
1271
|
-
//!
|
1272
|
-
|
1273
|
-
//!
|
1274
|
-
//! <b>Complexity</b>: Logarithmic.
|
1275
|
-
//!
|
1276
|
-
//! <b>Throws</b>: Nothing.
|
1277
|
-
template<class KeyType, class KeyValueCompare>
|
1278
|
-
const_iterator find(const KeyType &key, KeyValueCompare comp) const
|
1279
|
-
{
|
1280
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1281
|
-
key_node_comp(comp, this);
|
1282
|
-
return const_iterator
|
1283
|
-
(node_algorithms::find(this->priv_header_ptr(), key, key_node_comp), this);
|
1284
|
-
}
|
969
|
+
//! @copydoc ::boost::intrusive::bstree::find(const key_type &)
|
970
|
+
iterator find(const key_type &key);
|
1285
971
|
|
1286
|
-
//!
|
1287
|
-
|
1288
|
-
|
1289
|
-
//!
|
1290
|
-
//! <b>Complexity</b>: Logarithmic.
|
1291
|
-
//!
|
1292
|
-
//! <b>Throws</b>: Nothing.
|
1293
|
-
std::pair<iterator,iterator> equal_range(const_reference value)
|
1294
|
-
{ return this->equal_range(value, priv_comp()); }
|
972
|
+
//! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyTypeKeyCompare)
|
973
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
974
|
+
iterator find(const KeyType& key, KeyTypeKeyCompare comp);
|
1295
975
|
|
1296
|
-
//!
|
1297
|
-
|
1298
|
-
//! if they there is no elements with key k.
|
1299
|
-
//!
|
1300
|
-
//! <b>Complexity</b>: Logarithmic.
|
1301
|
-
//!
|
1302
|
-
//! <b>Throws</b>: Nothing.
|
1303
|
-
template<class KeyType, class KeyValueCompare>
|
1304
|
-
std::pair<iterator,iterator> equal_range(const KeyType &key, KeyValueCompare comp)
|
1305
|
-
{
|
1306
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1307
|
-
key_node_comp(comp, this);
|
1308
|
-
std::pair<node_ptr, node_ptr> ret
|
1309
|
-
(node_algorithms::equal_range(this->priv_header_ptr(), key, key_node_comp));
|
1310
|
-
return std::pair<iterator, iterator>(iterator(ret.first, this), iterator(ret.second, this));
|
1311
|
-
}
|
976
|
+
//! @copydoc ::boost::intrusive::bstree::find(const key_type &)const
|
977
|
+
const_iterator find(const key_type &key) const;
|
1312
978
|
|
1313
|
-
//!
|
1314
|
-
|
1315
|
-
|
1316
|
-
|
1317
|
-
//!
|
1318
|
-
|
1319
|
-
|
979
|
+
//! @copydoc ::boost::intrusive::bstree::find(const KeyType&,KeyTypeKeyCompare)const
|
980
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
981
|
+
const_iterator find(const KeyType& key, KeyTypeKeyCompare comp) const;
|
982
|
+
|
983
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const key_type &)
|
984
|
+
std::pair<iterator,iterator> equal_range(const key_type &key);
|
985
|
+
|
986
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyTypeKeyCompare)
|
987
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
988
|
+
std::pair<iterator,iterator> equal_range(const KeyType& key, KeyTypeKeyCompare comp);
|
989
|
+
|
990
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const key_type &)const
|
1320
991
|
std::pair<const_iterator, const_iterator>
|
1321
|
-
equal_range(
|
1322
|
-
{ return this->equal_range(value, priv_comp()); }
|
992
|
+
equal_range(const key_type &key) const;
|
1323
993
|
|
1324
|
-
//!
|
1325
|
-
|
1326
|
-
//! if they there is no elements with key k.
|
1327
|
-
//!
|
1328
|
-
//! <b>Complexity</b>: Logarithmic.
|
1329
|
-
//!
|
1330
|
-
//! <b>Throws</b>: Nothing.
|
1331
|
-
template<class KeyType, class KeyValueCompare>
|
994
|
+
//! @copydoc ::boost::intrusive::bstree::equal_range(const KeyType&,KeyTypeKeyCompare)const
|
995
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
1332
996
|
std::pair<const_iterator, const_iterator>
|
1333
|
-
equal_range(const KeyType
|
1334
|
-
{
|
1335
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1336
|
-
key_node_comp(comp, this);
|
1337
|
-
std::pair<node_ptr, node_ptr> ret
|
1338
|
-
(node_algorithms::equal_range(this->priv_header_ptr(), key, key_node_comp));
|
1339
|
-
return std::pair<const_iterator, const_iterator>(const_iterator(ret.first, this), const_iterator(ret.second, this));
|
1340
|
-
}
|
997
|
+
equal_range(const KeyType& key, KeyTypeKeyCompare comp) const;
|
1341
998
|
|
1342
|
-
//!
|
1343
|
-
//! 'lower_value' == 'upper_value', ('left_closed' || 'right_closed') must be false.
|
1344
|
-
//!
|
1345
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1346
|
-
//!
|
1347
|
-
//! first = lower_bound(lower_key) if left_closed, upper_bound(lower_key) otherwise
|
1348
|
-
//!
|
1349
|
-
//! second = upper_bound(upper_key) if right_closed, lower_bound(upper_key) otherwise
|
1350
|
-
//!
|
1351
|
-
//! <b>Complexity</b>: Logarithmic.
|
1352
|
-
//!
|
1353
|
-
//! <b>Throws</b>: If the predicate throws.
|
1354
|
-
//!
|
1355
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1356
|
-
//! and lower_bound for lower_value and upper_value.
|
999
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const key_type &,const key_type &,bool,bool)
|
1357
1000
|
std::pair<iterator,iterator> bounded_range
|
1358
|
-
(
|
1359
|
-
{ return this->bounded_range(lower_value, upper_value, priv_comp(), left_closed, right_closed); }
|
1001
|
+
(const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed);
|
1360
1002
|
|
1361
|
-
//!
|
1362
|
-
|
1363
|
-
//! the tree.
|
1364
|
-
//! 'lower_key' must not be greater than 'upper_key' according to 'comp'. If
|
1365
|
-
//! 'lower_key' == 'upper_key', ('left_closed' || 'right_closed') must be false.
|
1366
|
-
//!
|
1367
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1368
|
-
//!
|
1369
|
-
//! first = lower_bound(lower_key, comp) if left_closed, upper_bound(lower_key, comp) otherwise
|
1370
|
-
//!
|
1371
|
-
//! second = upper_bound(upper_key, comp) if right_closed, lower_bound(upper_key, comp) otherwise
|
1372
|
-
//!
|
1373
|
-
//! <b>Complexity</b>: Logarithmic.
|
1374
|
-
//!
|
1375
|
-
//! <b>Throws</b>: If "comp" throws.
|
1376
|
-
//!
|
1377
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1378
|
-
//! and lower_bound for lower_key and upper_key.
|
1379
|
-
template<class KeyType, class KeyValueCompare>
|
1003
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)
|
1004
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
1380
1005
|
std::pair<iterator,iterator> bounded_range
|
1381
|
-
(const KeyType
|
1382
|
-
{
|
1383
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1384
|
-
key_node_comp(comp, this);
|
1385
|
-
std::pair<node_ptr, node_ptr> ret
|
1386
|
-
(node_algorithms::bounded_range
|
1387
|
-
(this->priv_header_ptr(), lower_key, upper_key, key_node_comp, left_closed, right_closed));
|
1388
|
-
return std::pair<iterator, iterator>(iterator(ret.first, this), iterator(ret.second, this));
|
1389
|
-
}
|
1006
|
+
(const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed);
|
1390
1007
|
|
1391
|
-
//!
|
1392
|
-
|
1393
|
-
|
1394
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1395
|
-
//!
|
1396
|
-
//! first = lower_bound(lower_key) if left_closed, upper_bound(lower_key) otherwise
|
1397
|
-
//!
|
1398
|
-
//! second = upper_bound(upper_key) if right_closed, lower_bound(upper_key) otherwise
|
1399
|
-
//!
|
1400
|
-
//! <b>Complexity</b>: Logarithmic.
|
1401
|
-
//!
|
1402
|
-
//! <b>Throws</b>: If the predicate throws.
|
1403
|
-
//!
|
1404
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1405
|
-
//! and lower_bound for lower_value and upper_value.
|
1406
|
-
std::pair<const_iterator,const_iterator> bounded_range
|
1407
|
-
(const_reference lower_value, const_reference upper_value, bool left_closed, bool right_closed) const
|
1408
|
-
{ return this->bounded_range(lower_value, upper_value, priv_comp(), left_closed, right_closed); }
|
1008
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const key_type &,const key_type &,bool,bool)const
|
1009
|
+
std::pair<const_iterator, const_iterator>
|
1010
|
+
bounded_range(const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed) const;
|
1409
1011
|
|
1410
|
-
//!
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
//! 'lower_key' == 'upper_key', ('left_closed' || 'right_closed') must be false.
|
1415
|
-
//!
|
1416
|
-
//! <b>Effects</b>: Returns an a pair with the following criteria:
|
1417
|
-
//!
|
1418
|
-
//! first = lower_bound(lower_key, comp) if left_closed, upper_bound(lower_key, comp) otherwise
|
1419
|
-
//!
|
1420
|
-
//! second = upper_bound(upper_key, comp) if right_closed, lower_bound(upper_key, comp) otherwise
|
1421
|
-
//!
|
1422
|
-
//! <b>Complexity</b>: Logarithmic.
|
1423
|
-
//!
|
1424
|
-
//! <b>Throws</b>: If "comp" throws.
|
1425
|
-
//!
|
1426
|
-
//! <b>Note</b>: This function can be more efficient than calling upper_bound
|
1427
|
-
//! and lower_bound for lower_key and upper_key.
|
1428
|
-
template<class KeyType, class KeyValueCompare>
|
1429
|
-
std::pair<const_iterator,const_iterator> bounded_range
|
1430
|
-
(const KeyType &lower_key, const KeyType &upper_key, KeyValueCompare comp, bool left_closed, bool right_closed) const
|
1431
|
-
{
|
1432
|
-
detail::key_nodeptr_comp<KeyValueCompare, treap_impl>
|
1433
|
-
key_node_comp(comp, this);
|
1434
|
-
std::pair<node_ptr, node_ptr> ret
|
1435
|
-
(node_algorithms::bounded_range
|
1436
|
-
(this->priv_header_ptr(), lower_key, upper_key, key_node_comp, left_closed, right_closed));
|
1437
|
-
return std::pair<const_iterator, const_iterator>(const_iterator(ret.first, this), const_iterator(ret.second, this));
|
1438
|
-
}
|
1012
|
+
//! @copydoc ::boost::intrusive::bstree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)const
|
1013
|
+
template<class KeyType, class KeyTypeKeyCompare>
|
1014
|
+
std::pair<const_iterator, const_iterator> bounded_range
|
1015
|
+
(const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed) const;
|
1439
1016
|
|
1440
|
-
//!
|
1441
|
-
|
1442
|
-
//!
|
1443
|
-
//! <b>Effects</b>: Erases all the elements from *this
|
1444
|
-
//! calling Disposer::operator()(pointer), clones all the
|
1445
|
-
//! elements from src calling Cloner::operator()(const_reference )
|
1446
|
-
//! and inserts them on *this. Copies the predicate from the source container.
|
1447
|
-
//!
|
1448
|
-
//! If cloner throws, all cloned elements are unlinked and disposed
|
1449
|
-
//! calling Disposer::operator()(pointer).
|
1450
|
-
//!
|
1451
|
-
//! <b>Complexity</b>: Linear to erased plus inserted elements.
|
1452
|
-
//!
|
1453
|
-
//! <b>Throws</b>: If cloner throws or predicate copy assignment throws. Basic guarantee.
|
1454
|
-
template <class Cloner, class Disposer>
|
1455
|
-
void clone_from(const treap_impl &src, Cloner cloner, Disposer disposer)
|
1456
|
-
{
|
1457
|
-
this->clear_and_dispose(disposer);
|
1458
|
-
if(!src.empty()){
|
1459
|
-
detail::exception_disposer<treap_impl, Disposer>
|
1460
|
-
rollback(*this, disposer);
|
1461
|
-
node_algorithms::clone
|
1462
|
-
(src.priv_header_ptr()
|
1463
|
-
,this->priv_header_ptr()
|
1464
|
-
,detail::node_cloner<Cloner, treap_impl>(cloner, this)
|
1465
|
-
,detail::node_disposer<Disposer, treap_impl>(disposer, this));
|
1466
|
-
this->priv_size_traits().set_size(src.priv_size_traits().get_size());
|
1467
|
-
this->priv_comp() = src.priv_comp();
|
1468
|
-
rollback.release();
|
1469
|
-
}
|
1470
|
-
}
|
1017
|
+
//! @copydoc ::boost::intrusive::bstree::s_iterator_to(reference)
|
1018
|
+
static iterator s_iterator_to(reference value);
|
1471
1019
|
|
1472
|
-
//!
|
1473
|
-
|
1474
|
-
//! <b>Complexity</b>: Average complexity is constant time.
|
1475
|
-
//!
|
1476
|
-
//! <b>Throws</b>: Nothing.
|
1477
|
-
//!
|
1478
|
-
//! <b>Notes</b>: This function breaks the treap and the treap can
|
1479
|
-
//! only be used for more unlink_leftmost_without_rebalance calls.
|
1480
|
-
//! This function is normally used to achieve a step by step
|
1481
|
-
//! controlled destruction of the treap.
|
1482
|
-
pointer unlink_leftmost_without_rebalance()
|
1483
|
-
{
|
1484
|
-
node_ptr to_be_disposed(node_algorithms::unlink_leftmost_without_rebalance
|
1485
|
-
(this->priv_header_ptr()));
|
1486
|
-
if(!to_be_disposed)
|
1487
|
-
return 0;
|
1488
|
-
this->priv_size_traits().decrement();
|
1489
|
-
if(safemode_or_autounlink)//If this is commented does not work with normal_link
|
1490
|
-
node_algorithms::init(to_be_disposed);
|
1491
|
-
return get_real_value_traits().to_value_ptr(to_be_disposed);
|
1492
|
-
}
|
1020
|
+
//! @copydoc ::boost::intrusive::bstree::s_iterator_to(const_reference)
|
1021
|
+
static const_iterator s_iterator_to(const_reference value);
|
1493
1022
|
|
1494
|
-
//!
|
1495
|
-
|
1496
|
-
//!
|
1497
|
-
//! <b>Effects</b>: Replaces replace_this in its position in the
|
1498
|
-
//! treap with with_this. The treap does not need to be rebalanced.
|
1499
|
-
//!
|
1500
|
-
//! <b>Complexity</b>: Constant.
|
1501
|
-
//!
|
1502
|
-
//! <b>Throws</b>: Nothing.
|
1503
|
-
//!
|
1504
|
-
//! <b>Note</b>: This function will break container ordering invariants if
|
1505
|
-
//! with_this is not equivalent to *replace_this according to the
|
1506
|
-
//! ordering and priority rules. This function is faster than erasing and inserting
|
1507
|
-
//! the node, since no rebalancing or comparison is needed.
|
1508
|
-
void replace_node(iterator replace_this, reference with_this)
|
1509
|
-
{
|
1510
|
-
node_algorithms::replace_node( get_real_value_traits().to_node_ptr(*replace_this)
|
1511
|
-
, this->priv_header_ptr()
|
1512
|
-
, get_real_value_traits().to_node_ptr(with_this));
|
1513
|
-
if(safemode_or_autounlink)
|
1514
|
-
node_algorithms::init(replace_this.pointed_node());
|
1515
|
-
}
|
1023
|
+
//! @copydoc ::boost::intrusive::bstree::iterator_to(reference)
|
1024
|
+
iterator iterator_to(reference value);
|
1516
1025
|
|
1517
|
-
//!
|
1518
|
-
|
1519
|
-
//!
|
1520
|
-
//! <b>Effects</b>: Returns: a valid iterator i belonging to the set
|
1521
|
-
//! that points to the value
|
1522
|
-
//!
|
1523
|
-
//! <b>Complexity</b>: Constant.
|
1524
|
-
//!
|
1525
|
-
//! <b>Throws</b>: Nothing.
|
1526
|
-
//!
|
1527
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
1528
|
-
//! is stateless.
|
1529
|
-
static iterator s_iterator_to(reference value)
|
1530
|
-
{
|
1531
|
-
BOOST_STATIC_ASSERT((!stateful_value_traits));
|
1532
|
-
return iterator (value_traits::to_node_ptr(value), 0);
|
1533
|
-
}
|
1026
|
+
//! @copydoc ::boost::intrusive::bstree::iterator_to(const_reference)const
|
1027
|
+
const_iterator iterator_to(const_reference value) const;
|
1534
1028
|
|
1535
|
-
//!
|
1536
|
-
|
1537
|
-
//!
|
1538
|
-
//! <b>Effects</b>: Returns: a valid const_iterator i belonging to the
|
1539
|
-
//! set that points to the value
|
1540
|
-
//!
|
1541
|
-
//! <b>Complexity</b>: Constant.
|
1542
|
-
//!
|
1543
|
-
//! <b>Throws</b>: Nothing.
|
1544
|
-
//!
|
1545
|
-
//! <b>Note</b>: This static function is available only if the <i>value traits</i>
|
1546
|
-
//! is stateless.
|
1547
|
-
static const_iterator s_iterator_to(const_reference value)
|
1548
|
-
{
|
1549
|
-
BOOST_STATIC_ASSERT((!stateful_value_traits));
|
1550
|
-
return const_iterator (value_traits::to_node_ptr(const_cast<reference> (value)), 0);
|
1551
|
-
}
|
1029
|
+
//! @copydoc ::boost::intrusive::bstree::init_node(reference)
|
1030
|
+
static void init_node(reference value);
|
1552
1031
|
|
1553
|
-
//!
|
1554
|
-
|
1555
|
-
//!
|
1556
|
-
//! <b>Effects</b>: Returns: a valid iterator i belonging to the set
|
1557
|
-
//! that points to the value
|
1558
|
-
//!
|
1559
|
-
//! <b>Complexity</b>: Constant.
|
1560
|
-
//!
|
1561
|
-
//! <b>Throws</b>: Nothing.
|
1562
|
-
iterator iterator_to(reference value)
|
1563
|
-
{ return iterator (value_traits::to_node_ptr(value), this); }
|
1032
|
+
//! @copydoc ::boost::intrusive::bstree::unlink_leftmost_without_rebalance
|
1033
|
+
pointer unlink_leftmost_without_rebalance();
|
1564
1034
|
|
1565
|
-
//!
|
1566
|
-
|
1567
|
-
//!
|
1568
|
-
//! <b>Effects</b>: Returns: a valid const_iterator i belonging to the
|
1569
|
-
//! set that points to the value
|
1570
|
-
//!
|
1571
|
-
//! <b>Complexity</b>: Constant.
|
1572
|
-
//!
|
1573
|
-
//! <b>Throws</b>: Nothing.
|
1574
|
-
const_iterator iterator_to(const_reference value) const
|
1575
|
-
{ return const_iterator (value_traits::to_node_ptr(const_cast<reference> (value)), this); }
|
1035
|
+
//! @copydoc ::boost::intrusive::bstree::replace_node
|
1036
|
+
void replace_node(iterator replace_this, reference with_this);
|
1576
1037
|
|
1577
|
-
//!
|
1578
|
-
|
1579
|
-
|
1580
|
-
|
1581
|
-
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1038
|
+
//! @copydoc ::boost::intrusive::bstree::remove_node
|
1039
|
+
void remove_node(reference value);
|
1040
|
+
|
1041
|
+
friend bool operator< (const treap_impl &x, const treap_impl &y);
|
1042
|
+
|
1043
|
+
friend bool operator==(const treap_impl &x, const treap_impl &y);
|
1044
|
+
|
1045
|
+
friend bool operator!= (const treap_impl &x, const treap_impl &y);
|
1046
|
+
|
1047
|
+
friend bool operator>(const treap_impl &x, const treap_impl &y);
|
1048
|
+
|
1049
|
+
friend bool operator<=(const treap_impl &x, const treap_impl &y);
|
1050
|
+
|
1051
|
+
friend bool operator>=(const treap_impl &x, const treap_impl &y);
|
1052
|
+
|
1053
|
+
friend void swap(treap_impl &x, treap_impl &y);
|
1054
|
+
|
1055
|
+
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
1590
1056
|
|
1591
1057
|
/// @cond
|
1592
1058
|
private:
|
@@ -1605,197 +1071,41 @@ class treap_impl
|
|
1605
1071
|
return b.unconst();
|
1606
1072
|
}
|
1607
1073
|
/// @endcond
|
1608
|
-
|
1609
|
-
private:
|
1610
|
-
static treap_impl &priv_container_from_end_iterator(const const_iterator &end_iterator)
|
1611
|
-
{
|
1612
|
-
header_plus_size *r = detail::parent_from_member<header_plus_size, node>
|
1613
|
-
( boost::intrusive::detail::to_raw_pointer(end_iterator.pointed_node()), &header_plus_size::header_);
|
1614
|
-
typename node_plus_pred_t::header_plus_priority_size *n =
|
1615
|
-
detail::parent_from_member
|
1616
|
-
< typename node_plus_pred_t::header_plus_priority_size
|
1617
|
-
, header_plus_size>
|
1618
|
-
(r, &node_plus_pred_t::header_plus_priority_size::header_plus_size_);
|
1619
|
-
node_plus_pred_t *pn = detail::parent_from_member
|
1620
|
-
< node_plus_pred_t
|
1621
|
-
, typename node_plus_pred_t::header_plus_priority_size>
|
1622
|
-
(n, &node_plus_pred_t::header_plus_priority_size_);
|
1623
|
-
data_t *d = detail::parent_from_member<data_t, node_plus_pred_t>(pn, &data_t::node_plus_pred_);
|
1624
|
-
treap_impl *tr = detail::parent_from_member<treap_impl, data_t>(d, &treap_impl::data_);
|
1625
|
-
return *tr;
|
1626
|
-
}
|
1627
|
-
|
1628
|
-
static treap_impl &priv_container_from_iterator(const const_iterator &it)
|
1629
|
-
{ return priv_container_from_end_iterator(it.end_iterator_from_it()); }
|
1630
1074
|
};
|
1631
1075
|
|
1632
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1633
|
-
template<class T, class ...Options>
|
1634
|
-
#else
|
1635
|
-
template<class Config>
|
1636
|
-
#endif
|
1637
|
-
inline bool operator<
|
1638
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1639
|
-
(const treap_impl<T, Options...> &x, const treap_impl<T, Options...> &y)
|
1640
|
-
#else
|
1641
|
-
(const treap_impl<Config> &x, const treap_impl<Config> &y)
|
1642
|
-
#endif
|
1643
|
-
{ return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
1644
|
-
|
1645
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1646
|
-
template<class T, class ...Options>
|
1647
|
-
#else
|
1648
|
-
template<class Config>
|
1649
|
-
#endif
|
1650
|
-
bool operator==
|
1651
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1652
|
-
(const treap_impl<T, Options...> &x, const treap_impl<T, Options...> &y)
|
1653
|
-
#else
|
1654
|
-
(const treap_impl<Config> &x, const treap_impl<Config> &y)
|
1655
|
-
#endif
|
1656
|
-
{
|
1657
|
-
typedef treap_impl<Config> tree_type;
|
1658
|
-
typedef typename tree_type::const_iterator const_iterator;
|
1659
|
-
|
1660
|
-
if(tree_type::constant_time_size && x.size() != y.size()){
|
1661
|
-
return false;
|
1662
|
-
}
|
1663
|
-
const_iterator end1 = x.end();
|
1664
|
-
const_iterator i1 = x.begin();
|
1665
|
-
const_iterator i2 = y.begin();
|
1666
|
-
if(tree_type::constant_time_size){
|
1667
|
-
while (i1 != end1 && *i1 == *i2) {
|
1668
|
-
++i1;
|
1669
|
-
++i2;
|
1670
|
-
}
|
1671
|
-
return i1 == end1;
|
1672
|
-
}
|
1673
|
-
else{
|
1674
|
-
const_iterator end2 = y.end();
|
1675
|
-
while (i1 != end1 && i2 != end2 && *i1 == *i2) {
|
1676
|
-
++i1;
|
1677
|
-
++i2;
|
1678
|
-
}
|
1679
|
-
return i1 == end1 && i2 == end2;
|
1680
|
-
}
|
1681
|
-
}
|
1682
|
-
|
1683
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1684
|
-
template<class T, class ...Options>
|
1685
|
-
#else
|
1686
|
-
template<class Config>
|
1687
|
-
#endif
|
1688
|
-
inline bool operator!=
|
1689
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1690
|
-
(const treap_impl<T, Options...> &x, const treap_impl<T, Options...> &y)
|
1691
|
-
#else
|
1692
|
-
(const treap_impl<Config> &x, const treap_impl<Config> &y)
|
1693
|
-
#endif
|
1694
|
-
{ return !(x == y); }
|
1695
|
-
|
1696
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1697
|
-
template<class T, class ...Options>
|
1698
|
-
#else
|
1699
|
-
template<class Config>
|
1700
|
-
#endif
|
1701
|
-
inline bool operator>
|
1702
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1703
|
-
(const treap_impl<T, Options...> &x, const treap_impl<T, Options...> &y)
|
1704
|
-
#else
|
1705
|
-
(const treap_impl<Config> &x, const treap_impl<Config> &y)
|
1706
|
-
#endif
|
1707
|
-
{ return y < x; }
|
1708
|
-
|
1709
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1710
|
-
template<class T, class ...Options>
|
1711
|
-
#else
|
1712
|
-
template<class Config>
|
1713
|
-
#endif
|
1714
|
-
inline bool operator<=
|
1715
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1716
|
-
(const treap_impl<T, Options...> &x, const treap_impl<T, Options...> &y)
|
1717
|
-
#else
|
1718
|
-
(const treap_impl<Config> &x, const treap_impl<Config> &y)
|
1719
|
-
#endif
|
1720
|
-
{ return !(y < x); }
|
1721
1076
|
|
1722
|
-
|
1723
|
-
|
1724
|
-
#
|
1725
|
-
template<class Config>
|
1726
|
-
#endif
|
1727
|
-
inline bool operator>=
|
1728
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1729
|
-
(const treap_impl<T, Options...> &x, const treap_impl<T, Options...> &y)
|
1730
|
-
#else
|
1731
|
-
(const treap_impl<Config> &x, const treap_impl<Config> &y)
|
1732
|
-
#endif
|
1733
|
-
{ return !(x < y); }
|
1734
|
-
|
1735
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1077
|
+
//! Helper metafunction to define a \c treap that yields to the same type when the
|
1078
|
+
//! same options (either explicitly or implicitly) are used.
|
1079
|
+
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1736
1080
|
template<class T, class ...Options>
|
1737
1081
|
#else
|
1738
|
-
template<class
|
1082
|
+
template<class T, class O1 = void, class O2 = void
|
1083
|
+
, class O3 = void, class O4 = void
|
1084
|
+
, class O5 = void, class O6 = void>
|
1739
1085
|
#endif
|
1740
|
-
|
1741
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
1742
|
-
(treap_impl<T, Options...> &x, treap_impl<T, Options...> &y)
|
1743
|
-
#else
|
1744
|
-
(treap_impl<Config> &x, treap_impl<Config> &y)
|
1745
|
-
#endif
|
1746
|
-
{ x.swap(y); }
|
1747
|
-
|
1748
|
-
/// @cond
|
1749
|
-
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1750
|
-
template<class T, class O1 = none, class O2 = none
|
1751
|
-
, class O3 = none, class O4 = none
|
1752
|
-
>
|
1753
|
-
#else
|
1754
|
-
template<class T, class ...Options>
|
1755
|
-
#endif
|
1756
|
-
struct make_treap_opt
|
1086
|
+
struct make_treap
|
1757
1087
|
{
|
1758
1088
|
typedef typename pack_options
|
1759
|
-
<
|
1089
|
+
< treap_defaults,
|
1760
1090
|
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1761
|
-
O1, O2, O3, O4
|
1091
|
+
O1, O2, O3, O4, O5, O6
|
1762
1092
|
#else
|
1763
1093
|
Options...
|
1764
1094
|
#endif
|
1765
1095
|
>::type packed_options;
|
1096
|
+
|
1766
1097
|
typedef typename detail::get_value_traits
|
1767
|
-
<T, typename packed_options::
|
1098
|
+
<T, typename packed_options::proto_value_traits>::type value_traits;
|
1768
1099
|
|
1769
|
-
typedef
|
1100
|
+
typedef treap_impl
|
1770
1101
|
< value_traits
|
1102
|
+
, typename packed_options::key_of_value
|
1771
1103
|
, typename packed_options::compare
|
1772
1104
|
, typename packed_options::priority
|
1773
1105
|
, typename packed_options::size_type
|
1774
1106
|
, packed_options::constant_time_size
|
1775
|
-
|
1776
|
-
|
1777
|
-
/// @endcond
|
1778
|
-
|
1779
|
-
//! Helper metafunction to define a \c treap that yields to the same type when the
|
1780
|
-
//! same options (either explicitly or implicitly) are used.
|
1781
|
-
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1782
|
-
template<class T, class ...Options>
|
1783
|
-
#else
|
1784
|
-
template<class T, class O1 = none, class O2 = none
|
1785
|
-
, class O3 = none, class O4 = none>
|
1786
|
-
#endif
|
1787
|
-
struct make_trie
|
1788
|
-
{
|
1789
|
-
/// @cond
|
1790
|
-
typedef treap_impl
|
1791
|
-
< typename make_treap_opt<T,
|
1792
|
-
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1793
|
-
O1, O2, O3, O4
|
1794
|
-
#else
|
1795
|
-
Options...
|
1796
|
-
#endif
|
1797
|
-
>::type
|
1798
|
-
> implementation_defined;
|
1107
|
+
, typename packed_options::header_holder_type
|
1108
|
+
> implementation_defined;
|
1799
1109
|
/// @endcond
|
1800
1110
|
typedef implementation_defined type;
|
1801
1111
|
};
|
@@ -1803,23 +1113,23 @@ struct make_trie
|
|
1803
1113
|
#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
1804
1114
|
|
1805
1115
|
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1806
|
-
template<class T, class O1, class O2, class O3, class O4>
|
1116
|
+
template<class T, class O1, class O2, class O3, class O4, class O5, class O6>
|
1807
1117
|
#else
|
1808
1118
|
template<class T, class ...Options>
|
1809
1119
|
#endif
|
1810
1120
|
class treap
|
1811
|
-
: public
|
1121
|
+
: public make_treap<T,
|
1812
1122
|
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1813
|
-
O1, O2, O3, O4
|
1123
|
+
O1, O2, O3, O4, O5, O6
|
1814
1124
|
#else
|
1815
1125
|
Options...
|
1816
1126
|
#endif
|
1817
1127
|
>::type
|
1818
1128
|
{
|
1819
|
-
typedef typename
|
1129
|
+
typedef typename make_treap
|
1820
1130
|
<T,
|
1821
1131
|
#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
|
1822
|
-
O1, O2, O3, O4
|
1132
|
+
O1, O2, O3, O4, O5, O6
|
1823
1133
|
#else
|
1824
1134
|
Options...
|
1825
1135
|
#endif
|
@@ -1827,36 +1137,45 @@ class treap
|
|
1827
1137
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(treap)
|
1828
1138
|
|
1829
1139
|
public:
|
1830
|
-
typedef typename Base::
|
1140
|
+
typedef typename Base::key_compare key_compare;
|
1831
1141
|
typedef typename Base::priority_compare priority_compare;
|
1832
1142
|
typedef typename Base::value_traits value_traits;
|
1833
|
-
typedef typename Base::real_value_traits real_value_traits;
|
1834
1143
|
typedef typename Base::iterator iterator;
|
1835
1144
|
typedef typename Base::const_iterator const_iterator;
|
1145
|
+
typedef typename Base::reverse_iterator reverse_iterator;
|
1146
|
+
typedef typename Base::const_reverse_iterator const_reverse_iterator;
|
1836
1147
|
|
1837
1148
|
//Assert if passed value traits are compatible with the type
|
1838
|
-
BOOST_STATIC_ASSERT((detail::is_same<typename
|
1149
|
+
BOOST_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
|
1839
1150
|
|
1840
|
-
treap( const
|
1841
|
-
|
1842
|
-
|
1151
|
+
explicit treap( const key_compare &cmp = key_compare()
|
1152
|
+
, const priority_compare &pcmp = priority_compare()
|
1153
|
+
, const value_traits &v_traits = value_traits())
|
1843
1154
|
: Base(cmp, pcmp, v_traits)
|
1844
1155
|
{}
|
1845
1156
|
|
1846
1157
|
template<class Iterator>
|
1847
1158
|
treap( bool unique, Iterator b, Iterator e
|
1848
|
-
, const
|
1159
|
+
, const key_compare &cmp = key_compare()
|
1849
1160
|
, const priority_compare &pcmp = priority_compare()
|
1850
1161
|
, const value_traits &v_traits = value_traits())
|
1851
1162
|
: Base(unique, b, e, cmp, pcmp, v_traits)
|
1852
1163
|
{}
|
1853
1164
|
|
1854
1165
|
treap(BOOST_RV_REF(treap) x)
|
1855
|
-
: Base(
|
1166
|
+
: Base(BOOST_MOVE_BASE(Base, x))
|
1856
1167
|
{}
|
1857
1168
|
|
1858
1169
|
treap& operator=(BOOST_RV_REF(treap) x)
|
1859
|
-
{ this->Base::operator=(
|
1170
|
+
{ return static_cast<treap&>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
|
1171
|
+
|
1172
|
+
template <class Cloner, class Disposer>
|
1173
|
+
void clone_from(const treap &src, Cloner cloner, Disposer disposer)
|
1174
|
+
{ Base::clone_from(src, cloner, disposer); }
|
1175
|
+
|
1176
|
+
template <class Cloner, class Disposer>
|
1177
|
+
void clone_from(BOOST_RV_REF(treap) src, Cloner cloner, Disposer disposer)
|
1178
|
+
{ Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
|
1860
1179
|
|
1861
1180
|
static treap &container_from_end_iterator(iterator end_iterator)
|
1862
1181
|
{ return static_cast<treap &>(Base::container_from_end_iterator(end_iterator)); }
|
@@ -1864,16 +1183,15 @@ class treap
|
|
1864
1183
|
static const treap &container_from_end_iterator(const_iterator end_iterator)
|
1865
1184
|
{ return static_cast<const treap &>(Base::container_from_end_iterator(end_iterator)); }
|
1866
1185
|
|
1867
|
-
static treap &
|
1186
|
+
static treap &container_from_iterator(iterator it)
|
1868
1187
|
{ return static_cast<treap &>(Base::container_from_iterator(it)); }
|
1869
1188
|
|
1870
|
-
static const treap &
|
1189
|
+
static const treap &container_from_iterator(const_iterator it)
|
1871
1190
|
{ return static_cast<const treap &>(Base::container_from_iterator(it)); }
|
1872
1191
|
};
|
1873
1192
|
|
1874
1193
|
#endif
|
1875
1194
|
|
1876
|
-
|
1877
1195
|
} //namespace intrusive
|
1878
1196
|
} //namespace boost
|
1879
1197
|
|