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,87 +1,99 @@
|
|
1
1
|
//////////////////////////////////////////////////////////////////////////////
|
2
2
|
//
|
3
|
-
// (C) Copyright Ion Gaztanaga 2005-
|
3
|
+
// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost
|
4
4
|
// Software License, Version 1.0. (See accompanying file
|
5
5
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
6
6
|
//
|
7
7
|
// See http://www.boost.org/libs/container for documentation.
|
8
8
|
//
|
9
9
|
//////////////////////////////////////////////////////////////////////////////
|
10
|
-
|
11
10
|
#ifndef BOOST_CONTAINER_MAP_HPP
|
12
11
|
#define BOOST_CONTAINER_MAP_HPP
|
13
12
|
|
14
|
-
#
|
13
|
+
#ifndef BOOST_CONFIG_HPP
|
14
|
+
# include <boost/config.hpp>
|
15
|
+
#endif
|
16
|
+
|
17
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
15
18
|
# pragma once
|
16
19
|
#endif
|
17
20
|
|
18
21
|
#include <boost/container/detail/config_begin.hpp>
|
19
22
|
#include <boost/container/detail/workaround.hpp>
|
20
23
|
|
24
|
+
// container
|
21
25
|
#include <boost/container/container_fwd.hpp>
|
22
|
-
#include <
|
23
|
-
#include <
|
24
|
-
|
26
|
+
#include <boost/container/new_allocator.hpp> //new_allocator
|
27
|
+
#include <boost/container/throw_exception.hpp>
|
28
|
+
// container/detail
|
29
|
+
#include <boost/container/detail/mpl.hpp>
|
25
30
|
#include <boost/container/detail/tree.hpp>
|
31
|
+
#include <boost/container/detail/type_traits.hpp>
|
26
32
|
#include <boost/container/detail/value_init.hpp>
|
27
|
-
#include <boost/type_traits/has_trivial_destructor.hpp>
|
28
|
-
#include <boost/container/detail/mpl.hpp>
|
29
|
-
#include <boost/container/detail/utilities.hpp>
|
30
33
|
#include <boost/container/detail/pair.hpp>
|
31
|
-
|
32
|
-
#include <boost/
|
33
|
-
#include <boost/move/
|
34
|
+
// move
|
35
|
+
#include <boost/move/traits.hpp>
|
36
|
+
#include <boost/move/utility_core.hpp>
|
37
|
+
// move/detail
|
38
|
+
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
39
|
+
#include <boost/move/detail/fwd_macros.hpp>
|
40
|
+
#endif
|
34
41
|
#include <boost/move/detail/move_helpers.hpp>
|
42
|
+
// intrusive/detail
|
43
|
+
#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
|
44
|
+
#include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
|
45
|
+
// other
|
35
46
|
#include <boost/static_assert.hpp>
|
36
|
-
#include <boost/
|
37
|
-
|
47
|
+
#include <boost/core/no_exceptions_support.hpp>
|
48
|
+
// std
|
49
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
50
|
+
#include <initializer_list>
|
51
|
+
#endif
|
38
52
|
|
39
53
|
namespace boost {
|
40
54
|
namespace container {
|
41
55
|
|
42
|
-
|
43
|
-
// Forward declarations of operators == and <, needed for friend declarations.
|
44
|
-
template <class Key, class T, class Compare, class Allocator>
|
45
|
-
inline bool operator==(const map<Key,T,Compare,Allocator>& x,
|
46
|
-
const map<Key,T,Compare,Allocator>& y);
|
47
|
-
|
48
|
-
template <class Key, class T, class Compare, class Allocator>
|
49
|
-
inline bool operator<(const map<Key,T,Compare,Allocator>& x,
|
50
|
-
const map<Key,T,Compare,Allocator>& y);
|
51
|
-
/// @endcond
|
56
|
+
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
52
57
|
|
53
58
|
//! A map is a kind of associative container that supports unique keys (contains at
|
54
59
|
//! most one of each key value) and provides for fast retrieval of values of another
|
55
60
|
//! type T based on the keys. The map class supports bidirectional iterators.
|
56
61
|
//!
|
57
62
|
//! A map satisfies all of the requirements of a container and of a reversible
|
58
|
-
//! container and of an associative container.
|
59
|
-
//!
|
60
|
-
//!
|
61
|
-
//! Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
|
63
|
+
//! container and of an associative container. The <code>value_type</code> stored
|
64
|
+
//! by this container is the value_type is std::pair<const Key, T>.
|
62
65
|
//!
|
63
|
-
//!
|
64
|
-
//!
|
65
|
-
|
66
|
-
|
66
|
+
//! \tparam Key is the key_type of the map
|
67
|
+
//! \tparam T is the <code>mapped_type</code>
|
68
|
+
//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
|
69
|
+
//! \tparam Allocator is the allocator to allocate the <code>value_type</code>s
|
70
|
+
//! (e.g. <i>allocator< std::pair<const Key, T> > </i>).
|
71
|
+
//! \tparam MapOptions is an packed option type generated using using boost::container::tree_assoc_options.
|
72
|
+
template < class Key, class T, class Compare = std::less<Key>
|
73
|
+
, class Allocator = new_allocator< std::pair< const Key, T> >, class MapOptions = tree_assoc_defaults >
|
67
74
|
#else
|
68
|
-
template <class Key, class T, class Compare, class Allocator>
|
75
|
+
template <class Key, class T, class Compare, class Allocator, class MapOptions>
|
69
76
|
#endif
|
70
77
|
class map
|
78
|
+
///@cond
|
79
|
+
: public container_detail::tree
|
80
|
+
< Key, std::pair<const Key, T>
|
81
|
+
, container_detail::select1st< std::pair<const Key, T> >
|
82
|
+
, Compare, Allocator, MapOptions>
|
83
|
+
///@endcond
|
71
84
|
{
|
72
|
-
|
85
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
73
86
|
private:
|
74
87
|
BOOST_COPYABLE_AND_MOVABLE(map)
|
75
88
|
|
76
89
|
typedef std::pair<const Key, T> value_type_impl;
|
77
|
-
typedef container_detail::
|
78
|
-
<Key, value_type_impl, container_detail::select1st<value_type_impl>, Compare, Allocator>
|
90
|
+
typedef container_detail::tree
|
91
|
+
<Key, value_type_impl, container_detail::select1st<value_type_impl>, Compare, Allocator, MapOptions> base_t;
|
79
92
|
typedef container_detail::pair <Key, T> movable_value_type_impl;
|
80
93
|
typedef container_detail::tree_value_compare
|
81
94
|
< Key, value_type_impl, Compare, container_detail::select1st<value_type_impl>
|
82
95
|
> value_compare_impl;
|
83
|
-
|
84
|
-
/// @endcond
|
96
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
85
97
|
|
86
98
|
public:
|
87
99
|
//////////////////////////////////////////////
|
@@ -90,9 +102,10 @@ class map
|
|
90
102
|
//
|
91
103
|
//////////////////////////////////////////////
|
92
104
|
|
93
|
-
typedef Key
|
94
|
-
typedef
|
95
|
-
typedef
|
105
|
+
typedef Key key_type;
|
106
|
+
typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
|
107
|
+
typedef T mapped_type;
|
108
|
+
typedef std::pair<const Key, T> value_type;
|
96
109
|
typedef typename boost::container::allocator_traits<Allocator>::pointer pointer;
|
97
110
|
typedef typename boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
98
111
|
typedef typename boost::container::allocator_traits<Allocator>::reference reference;
|
@@ -100,13 +113,13 @@ class map
|
|
100
113
|
typedef typename boost::container::allocator_traits<Allocator>::size_type size_type;
|
101
114
|
typedef typename boost::container::allocator_traits<Allocator>::difference_type difference_type;
|
102
115
|
typedef Allocator allocator_type;
|
103
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
116
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type;
|
104
117
|
typedef BOOST_CONTAINER_IMPDEF(value_compare_impl) value_compare;
|
105
118
|
typedef Compare key_compare;
|
106
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
107
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
108
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
109
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
119
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::iterator) iterator;
|
120
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_iterator) const_iterator;
|
121
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::reverse_iterator) reverse_iterator;
|
122
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_reverse_iterator) const_reverse_iterator;
|
110
123
|
typedef std::pair<key_type, mapped_type> nonconst_value_type;
|
111
124
|
typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type;
|
112
125
|
|
@@ -120,9 +133,9 @@ class map
|
|
120
133
|
//!
|
121
134
|
//! <b>Complexity</b>: Constant.
|
122
135
|
map()
|
123
|
-
:
|
136
|
+
: base_t()
|
124
137
|
{
|
125
|
-
//
|
138
|
+
//A type must be std::pair<CONST Key, T>
|
126
139
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
127
140
|
}
|
128
141
|
|
@@ -130,11 +143,20 @@ class map
|
|
130
143
|
//! and allocator.
|
131
144
|
//!
|
132
145
|
//! <b>Complexity</b>: Constant.
|
133
|
-
explicit map(const Compare& comp,
|
134
|
-
|
135
|
-
: m_tree(comp, a)
|
146
|
+
explicit map(const Compare& comp, const allocator_type& a = allocator_type())
|
147
|
+
: base_t(comp, a)
|
136
148
|
{
|
137
|
-
//
|
149
|
+
//A type must be std::pair<CONST Key, T>
|
150
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
151
|
+
}
|
152
|
+
|
153
|
+
//! <b>Effects</b>: Constructs an empty map using the specified allocator.
|
154
|
+
//!
|
155
|
+
//! <b>Complexity</b>: Constant.
|
156
|
+
explicit map(const allocator_type& a)
|
157
|
+
: base_t(a)
|
158
|
+
{
|
159
|
+
//A type must be std::pair<CONST Key, T>
|
138
160
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
139
161
|
}
|
140
162
|
|
@@ -146,9 +168,22 @@ class map
|
|
146
168
|
template <class InputIterator>
|
147
169
|
map(InputIterator first, InputIterator last, const Compare& comp = Compare(),
|
148
170
|
const allocator_type& a = allocator_type())
|
149
|
-
:
|
171
|
+
: base_t(true, first, last, comp, a)
|
150
172
|
{
|
151
|
-
//
|
173
|
+
//A type must be std::pair<CONST Key, T>
|
174
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
175
|
+
}
|
176
|
+
|
177
|
+
//! <b>Effects</b>: Constructs an empty map using the specified
|
178
|
+
//! allocator, and inserts elements from the range [first ,last ).
|
179
|
+
//!
|
180
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
181
|
+
//! comp and otherwise N logN, where N is last - first.
|
182
|
+
template <class InputIterator>
|
183
|
+
map(InputIterator first, InputIterator last, const allocator_type& a)
|
184
|
+
: base_t(true, first, last, Compare(), a)
|
185
|
+
{
|
186
|
+
//A type must be std::pair<CONST Key, T>
|
152
187
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
153
188
|
}
|
154
189
|
|
@@ -160,22 +195,68 @@ class map
|
|
160
195
|
//! unique values.
|
161
196
|
//!
|
162
197
|
//! <b>Complexity</b>: Linear in N.
|
198
|
+
//!
|
199
|
+
//! <b>Note</b>: Non-standard extension.
|
163
200
|
template <class InputIterator>
|
164
201
|
map( ordered_unique_range_t, InputIterator first, InputIterator last
|
165
202
|
, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
|
166
|
-
:
|
203
|
+
: base_t(ordered_range, first, last, comp, a)
|
167
204
|
{
|
168
|
-
//
|
205
|
+
//A type must be std::pair<CONST Key, T>
|
169
206
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
170
207
|
}
|
171
208
|
|
209
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
210
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
211
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
212
|
+
//!
|
213
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
214
|
+
//! comp and otherwise N logN, where N is il.first() - il.end().
|
215
|
+
map(std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
|
216
|
+
: base_t(true, il.begin(), il.end(), comp, a)
|
217
|
+
{
|
218
|
+
//A type must be std::pair<CONST Key, T>
|
219
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
220
|
+
}
|
221
|
+
|
222
|
+
//! <b>Effects</b>: Constructs an empty map using the specified
|
223
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
224
|
+
//!
|
225
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
226
|
+
//! comp and otherwise N logN, where N is il.first() - il.end().
|
227
|
+
map(std::initializer_list<value_type> il, const allocator_type& a)
|
228
|
+
: base_t(true, il.begin(), il.end(), Compare(), a)
|
229
|
+
{
|
230
|
+
//A type must be std::pair<CONST Key, T>
|
231
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
232
|
+
}
|
233
|
+
|
234
|
+
//! <b>Effects</b>: Constructs an empty set using the specified comparison object and
|
235
|
+
//! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function
|
236
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
237
|
+
//!
|
238
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
|
239
|
+
//! unique values.
|
240
|
+
//!
|
241
|
+
//! <b>Complexity</b>: Linear in N.
|
242
|
+
//!
|
243
|
+
//! <b>Note</b>: Non-standard extension.
|
244
|
+
map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp = Compare(),
|
245
|
+
const allocator_type& a = allocator_type())
|
246
|
+
: base_t(ordered_range, il.begin(), il.end(), comp, a)
|
247
|
+
{
|
248
|
+
//A type must be std::pair<CONST Key, T>
|
249
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
250
|
+
}
|
251
|
+
#endif
|
252
|
+
|
172
253
|
//! <b>Effects</b>: Copy constructs a map.
|
173
254
|
//!
|
174
255
|
//! <b>Complexity</b>: Linear in x.size().
|
175
256
|
map(const map& x)
|
176
|
-
:
|
257
|
+
: base_t(static_cast<const base_t&>(x))
|
177
258
|
{
|
178
|
-
//
|
259
|
+
//A type must be std::pair<CONST Key, T>
|
179
260
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
180
261
|
}
|
181
262
|
|
@@ -185,9 +266,9 @@ class map
|
|
185
266
|
//!
|
186
267
|
//! <b>Postcondition</b>: x is emptied.
|
187
268
|
map(BOOST_RV_REF(map) x)
|
188
|
-
:
|
269
|
+
: base_t(BOOST_MOVE_BASE(base_t, x))
|
189
270
|
{
|
190
|
-
//
|
271
|
+
//A type must be std::pair<CONST Key, T>
|
191
272
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
192
273
|
}
|
193
274
|
|
@@ -195,9 +276,9 @@ class map
|
|
195
276
|
//!
|
196
277
|
//! <b>Complexity</b>: Linear in x.size().
|
197
278
|
map(const map& x, const allocator_type &a)
|
198
|
-
:
|
279
|
+
: base_t(static_cast<const base_t&>(x), a)
|
199
280
|
{
|
200
|
-
//
|
281
|
+
//A type must be std::pair<CONST Key, T>
|
201
282
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
202
283
|
}
|
203
284
|
|
@@ -208,9 +289,9 @@ class map
|
|
208
289
|
//!
|
209
290
|
//! <b>Postcondition</b>: x is emptied.
|
210
291
|
map(BOOST_RV_REF(map) x, const allocator_type &a)
|
211
|
-
:
|
292
|
+
: base_t(BOOST_MOVE_BASE(base_t, x), a)
|
212
293
|
{
|
213
|
-
//
|
294
|
+
//A type must be std::pair<CONST Key, T>
|
214
295
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
215
296
|
}
|
216
297
|
|
@@ -218,20 +299,40 @@ class map
|
|
218
299
|
//!
|
219
300
|
//! <b>Complexity</b>: Linear in x.size().
|
220
301
|
map& operator=(BOOST_COPY_ASSIGN_REF(map) x)
|
221
|
-
{
|
302
|
+
{ return static_cast<map&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
|
222
303
|
|
223
304
|
//! <b>Effects</b>: this->swap(x.get()).
|
224
305
|
//!
|
225
|
-
//! <b>
|
306
|
+
//! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
|
307
|
+
//! is false and (allocation throws or value_type's move constructor throws)
|
308
|
+
//!
|
309
|
+
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
310
|
+
//! propagate_on_container_move_assignment is true or
|
311
|
+
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
226
312
|
map& operator=(BOOST_RV_REF(map) x)
|
227
|
-
|
313
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
314
|
+
&& boost::container::container_detail::is_nothrow_move_assignable<Compare>::value )
|
315
|
+
|
316
|
+
{ return static_cast<map&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
|
317
|
+
|
318
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
319
|
+
//! <b>Effects</b>: Assign content of il to *this.
|
320
|
+
//!
|
321
|
+
map& operator=(std::initializer_list<value_type> il)
|
322
|
+
{
|
323
|
+
this->clear();
|
324
|
+
insert(il.begin(), il.end());
|
325
|
+
return *this;
|
326
|
+
}
|
327
|
+
#endif
|
328
|
+
|
329
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
228
330
|
|
229
|
-
//! <b>Effects</b>: Returns a copy of the
|
331
|
+
//! <b>Effects</b>: Returns a copy of the allocator that
|
230
332
|
//! was passed to the object's constructor.
|
231
333
|
//!
|
232
334
|
//! <b>Complexity</b>: Constant.
|
233
|
-
allocator_type get_allocator() const
|
234
|
-
{ return m_tree.get_allocator(); }
|
335
|
+
allocator_type get_allocator() const;
|
235
336
|
|
236
337
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
237
338
|
//!
|
@@ -240,8 +341,7 @@ class map
|
|
240
341
|
//! <b>Complexity</b>: Constant.
|
241
342
|
//!
|
242
343
|
//! <b>Note</b>: Non-standard extension.
|
243
|
-
stored_allocator_type &get_stored_allocator()
|
244
|
-
{ return m_tree.get_stored_allocator(); }
|
344
|
+
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW;
|
245
345
|
|
246
346
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
247
347
|
//!
|
@@ -250,107 +350,89 @@ class map
|
|
250
350
|
//! <b>Complexity</b>: Constant.
|
251
351
|
//!
|
252
352
|
//! <b>Note</b>: Non-standard extension.
|
253
|
-
const stored_allocator_type &get_stored_allocator() const
|
254
|
-
{ return m_tree.get_stored_allocator(); }
|
255
|
-
|
256
|
-
//////////////////////////////////////////////
|
257
|
-
//
|
258
|
-
// iterators
|
259
|
-
//
|
260
|
-
//////////////////////////////////////////////
|
353
|
+
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW;
|
261
354
|
|
262
355
|
//! <b>Effects</b>: Returns an iterator to the first element contained in the container.
|
263
356
|
//!
|
264
357
|
//! <b>Throws</b>: Nothing.
|
265
358
|
//!
|
266
359
|
//! <b>Complexity</b>: Constant.
|
267
|
-
iterator begin()
|
268
|
-
{ return m_tree.begin(); }
|
360
|
+
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW;
|
269
361
|
|
270
362
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
|
271
363
|
//!
|
272
364
|
//! <b>Throws</b>: Nothing.
|
273
365
|
//!
|
274
366
|
//! <b>Complexity</b>: Constant.
|
275
|
-
const_iterator begin() const
|
276
|
-
{ return this->cbegin(); }
|
367
|
+
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW;
|
277
368
|
|
278
|
-
//! <b>Effects</b>: Returns
|
369
|
+
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
|
279
370
|
//!
|
280
371
|
//! <b>Throws</b>: Nothing.
|
281
372
|
//!
|
282
373
|
//! <b>Complexity</b>: Constant.
|
283
|
-
|
284
|
-
{ return m_tree.end(); }
|
374
|
+
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
|
285
375
|
|
286
|
-
//! <b>Effects</b>: Returns
|
376
|
+
//! <b>Effects</b>: Returns an iterator to the end of the container.
|
287
377
|
//!
|
288
378
|
//! <b>Throws</b>: Nothing.
|
289
379
|
//!
|
290
380
|
//! <b>Complexity</b>: Constant.
|
291
|
-
|
292
|
-
{ return this->cend(); }
|
381
|
+
iterator end() BOOST_NOEXCEPT_OR_NOTHROW;
|
293
382
|
|
294
|
-
//! <b>Effects</b>: Returns a
|
295
|
-
//! of the reversed container.
|
383
|
+
//! <b>Effects</b>: Returns a const_iterator to the end of the container.
|
296
384
|
//!
|
297
385
|
//! <b>Throws</b>: Nothing.
|
298
386
|
//!
|
299
387
|
//! <b>Complexity</b>: Constant.
|
300
|
-
|
301
|
-
{ return m_tree.rbegin(); }
|
388
|
+
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW;
|
302
389
|
|
303
|
-
//! <b>Effects</b>: Returns a
|
304
|
-
//! of the reversed container.
|
390
|
+
//! <b>Effects</b>: Returns a const_iterator to the end of the container.
|
305
391
|
//!
|
306
392
|
//! <b>Throws</b>: Nothing.
|
307
393
|
//!
|
308
394
|
//! <b>Complexity</b>: Constant.
|
309
|
-
|
310
|
-
{ return this->crbegin(); }
|
395
|
+
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW;
|
311
396
|
|
312
|
-
//! <b>Effects</b>: Returns a reverse_iterator pointing to the
|
397
|
+
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
313
398
|
//! of the reversed container.
|
314
399
|
//!
|
315
400
|
//! <b>Throws</b>: Nothing.
|
316
401
|
//!
|
317
402
|
//! <b>Complexity</b>: Constant.
|
318
|
-
reverse_iterator
|
319
|
-
{ return m_tree.rend(); }
|
403
|
+
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW;
|
320
404
|
|
321
|
-
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the
|
405
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
322
406
|
//! of the reversed container.
|
323
407
|
//!
|
324
408
|
//! <b>Throws</b>: Nothing.
|
325
409
|
//!
|
326
410
|
//! <b>Complexity</b>: Constant.
|
327
|
-
const_reverse_iterator
|
328
|
-
{ return this->crend(); }
|
411
|
+
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
|
329
412
|
|
330
|
-
//! <b>Effects</b>: Returns a
|
413
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
414
|
+
//! of the reversed container.
|
331
415
|
//!
|
332
416
|
//! <b>Throws</b>: Nothing.
|
333
417
|
//!
|
334
418
|
//! <b>Complexity</b>: Constant.
|
335
|
-
|
336
|
-
{ return m_tree.begin(); }
|
419
|
+
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
|
337
420
|
|
338
|
-
//! <b>Effects</b>: Returns a
|
421
|
+
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
422
|
+
//! of the reversed container.
|
339
423
|
//!
|
340
424
|
//! <b>Throws</b>: Nothing.
|
341
425
|
//!
|
342
426
|
//! <b>Complexity</b>: Constant.
|
343
|
-
|
344
|
-
{ return m_tree.end(); }
|
427
|
+
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW;
|
345
428
|
|
346
|
-
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the
|
429
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
347
430
|
//! of the reversed container.
|
348
431
|
//!
|
349
432
|
//! <b>Throws</b>: Nothing.
|
350
433
|
//!
|
351
434
|
//! <b>Complexity</b>: Constant.
|
352
|
-
const_reverse_iterator
|
353
|
-
{ return m_tree.rbegin(); }
|
435
|
+
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW;
|
354
436
|
|
355
437
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
356
438
|
//! of the reversed container.
|
@@ -358,50 +440,36 @@ class map
|
|
358
440
|
//! <b>Throws</b>: Nothing.
|
359
441
|
//!
|
360
442
|
//! <b>Complexity</b>: Constant.
|
361
|
-
const_reverse_iterator crend() const
|
362
|
-
{ return m_tree.rend(); }
|
363
|
-
|
364
|
-
//////////////////////////////////////////////
|
365
|
-
//
|
366
|
-
// capacity
|
367
|
-
//
|
368
|
-
//////////////////////////////////////////////
|
443
|
+
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW;
|
369
444
|
|
370
445
|
//! <b>Effects</b>: Returns true if the container contains no elements.
|
371
446
|
//!
|
372
447
|
//! <b>Throws</b>: Nothing.
|
373
448
|
//!
|
374
449
|
//! <b>Complexity</b>: Constant.
|
375
|
-
bool empty() const
|
376
|
-
{ return m_tree.empty(); }
|
450
|
+
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW;
|
377
451
|
|
378
452
|
//! <b>Effects</b>: Returns the number of the elements contained in the container.
|
379
453
|
//!
|
380
454
|
//! <b>Throws</b>: Nothing.
|
381
455
|
//!
|
382
456
|
//! <b>Complexity</b>: Constant.
|
383
|
-
size_type size() const
|
384
|
-
{ return m_tree.size(); }
|
457
|
+
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW;
|
385
458
|
|
386
459
|
//! <b>Effects</b>: Returns the largest possible size of the container.
|
387
460
|
//!
|
388
461
|
//! <b>Throws</b>: Nothing.
|
389
462
|
//!
|
390
463
|
//! <b>Complexity</b>: Constant.
|
391
|
-
size_type max_size() const
|
392
|
-
{ return m_tree.max_size(); }
|
464
|
+
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW;
|
393
465
|
|
394
|
-
|
395
|
-
//
|
396
|
-
// element access
|
397
|
-
//
|
398
|
-
//////////////////////////////////////////////
|
466
|
+
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
399
467
|
|
400
468
|
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
401
469
|
//! Effects: If there is no key equivalent to x in the map, inserts
|
402
470
|
//! value_type(x, T()) into the map.
|
403
471
|
//!
|
404
|
-
//! Returns:
|
472
|
+
//! Returns: A reference to the mapped_type corresponding to x in *this.
|
405
473
|
//!
|
406
474
|
//! Complexity: Logarithmic.
|
407
475
|
mapped_type& operator[](const key_type &k);
|
@@ -409,15 +477,19 @@ class map
|
|
409
477
|
//! Effects: If there is no key equivalent to x in the map, inserts
|
410
478
|
//! value_type(boost::move(x), T()) into the map (the key is move-constructed)
|
411
479
|
//!
|
412
|
-
//! Returns:
|
480
|
+
//! Returns: A reference to the mapped_type corresponding to x in *this.
|
413
481
|
//!
|
414
482
|
//! Complexity: Logarithmic.
|
415
483
|
mapped_type& operator[](key_type &&k);
|
484
|
+
#elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
|
485
|
+
//in compilers like GCC 3.4, we can't catch temporaries
|
486
|
+
mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
|
487
|
+
mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
|
416
488
|
#else
|
417
|
-
|
489
|
+
BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
|
418
490
|
#endif
|
419
491
|
|
420
|
-
//! Returns:
|
492
|
+
//! Returns: A reference to the element whose key is equivalent to x.
|
421
493
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
422
494
|
//! Complexity: logarithmic.
|
423
495
|
T& at(const key_type& k)
|
@@ -429,7 +501,7 @@ class map
|
|
429
501
|
return i->second;
|
430
502
|
}
|
431
503
|
|
432
|
-
//! Returns:
|
504
|
+
//! Returns: A reference to the element whose key is equivalent to x.
|
433
505
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
434
506
|
//! Complexity: logarithmic.
|
435
507
|
const T& at(const key_type& k) const
|
@@ -456,7 +528,7 @@ class map
|
|
456
528
|
//!
|
457
529
|
//! <b>Complexity</b>: Logarithmic.
|
458
530
|
std::pair<iterator,bool> insert(const value_type& x)
|
459
|
-
{ return
|
531
|
+
{ return this->base_t::insert_unique(x); }
|
460
532
|
|
461
533
|
//! <b>Effects</b>: Inserts a new value_type created from the pair if and only if
|
462
534
|
//! there is no element in the container with key equivalent to the key of x.
|
@@ -467,7 +539,7 @@ class map
|
|
467
539
|
//!
|
468
540
|
//! <b>Complexity</b>: Logarithmic.
|
469
541
|
std::pair<iterator,bool> insert(const nonconst_value_type& x)
|
470
|
-
{ return
|
542
|
+
{ return this->base_t::insert_unique(x); }
|
471
543
|
|
472
544
|
//! <b>Effects</b>: Inserts a new value_type move constructed from the pair if and
|
473
545
|
//! only if there is no element in the container with key equivalent to the key of x.
|
@@ -478,7 +550,7 @@ class map
|
|
478
550
|
//!
|
479
551
|
//! <b>Complexity</b>: Logarithmic.
|
480
552
|
std::pair<iterator,bool> insert(BOOST_RV_REF(nonconst_value_type) x)
|
481
|
-
{ return
|
553
|
+
{ return this->base_t::insert_unique(boost::move(x)); }
|
482
554
|
|
483
555
|
//! <b>Effects</b>: Inserts a new value_type move constructed from the pair if and
|
484
556
|
//! only if there is no element in the container with key equivalent to the key of x.
|
@@ -489,7 +561,7 @@ class map
|
|
489
561
|
//!
|
490
562
|
//! <b>Complexity</b>: Logarithmic.
|
491
563
|
std::pair<iterator,bool> insert(BOOST_RV_REF(movable_value_type) x)
|
492
|
-
{ return
|
564
|
+
{ return this->base_t::insert_unique(boost::move(x)); }
|
493
565
|
|
494
566
|
//! <b>Effects</b>: Move constructs a new value from x if and only if there is
|
495
567
|
//! no element in the container with key equivalent to the key of x.
|
@@ -500,7 +572,7 @@ class map
|
|
500
572
|
//!
|
501
573
|
//! <b>Complexity</b>: Logarithmic.
|
502
574
|
std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
|
503
|
-
{ return
|
575
|
+
{ return this->base_t::insert_unique(boost::move(x)); }
|
504
576
|
|
505
577
|
//! <b>Effects</b>: Inserts a copy of x in the container if and only if there is
|
506
578
|
//! no element in the container with key equivalent to the key of x.
|
@@ -511,8 +583,8 @@ class map
|
|
511
583
|
//!
|
512
584
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
513
585
|
//! is inserted right before p.
|
514
|
-
iterator insert(const_iterator
|
515
|
-
{ return
|
586
|
+
iterator insert(const_iterator p, const value_type& x)
|
587
|
+
{ return this->base_t::insert_unique(p, x); }
|
516
588
|
|
517
589
|
//! <b>Effects</b>: Move constructs a new value from x if and only if there is
|
518
590
|
//! no element in the container with key equivalent to the key of x.
|
@@ -523,8 +595,8 @@ class map
|
|
523
595
|
//!
|
524
596
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
525
597
|
//! is inserted right before p.
|
526
|
-
iterator insert(const_iterator
|
527
|
-
{ return
|
598
|
+
iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x)
|
599
|
+
{ return this->base_t::insert_unique(p, boost::move(x)); }
|
528
600
|
|
529
601
|
//! <b>Effects</b>: Move constructs a new value from x if and only if there is
|
530
602
|
//! no element in the container with key equivalent to the key of x.
|
@@ -535,8 +607,8 @@ class map
|
|
535
607
|
//!
|
536
608
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
537
609
|
//! is inserted right before p.
|
538
|
-
iterator insert(const_iterator
|
539
|
-
{ return
|
610
|
+
iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
|
611
|
+
{ return this->base_t::insert_unique(p, boost::move(x)); }
|
540
612
|
|
541
613
|
//! <b>Effects</b>: Inserts a copy of x in the container.
|
542
614
|
//! p is a hint pointing to where the insert should start to search.
|
@@ -544,8 +616,8 @@ class map
|
|
544
616
|
//! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
|
545
617
|
//!
|
546
618
|
//! <b>Complexity</b>: Logarithmic.
|
547
|
-
iterator insert(const_iterator
|
548
|
-
{ return
|
619
|
+
iterator insert(const_iterator p, const nonconst_value_type& x)
|
620
|
+
{ return this->base_t::insert_unique(p, x); }
|
549
621
|
|
550
622
|
//! <b>Effects</b>: Inserts an element move constructed from x in the container.
|
551
623
|
//! p is a hint pointing to where the insert should start to search.
|
@@ -553,8 +625,8 @@ class map
|
|
553
625
|
//! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
|
554
626
|
//!
|
555
627
|
//! <b>Complexity</b>: Logarithmic.
|
556
|
-
iterator insert(const_iterator
|
557
|
-
{ return
|
628
|
+
iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
629
|
+
{ return this->base_t::insert_unique(p, boost::move(x)); }
|
558
630
|
|
559
631
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
560
632
|
//!
|
@@ -564,9 +636,18 @@ class map
|
|
564
636
|
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
|
565
637
|
template <class InputIterator>
|
566
638
|
void insert(InputIterator first, InputIterator last)
|
567
|
-
{
|
639
|
+
{ this->base_t::insert_unique(first, last); }
|
640
|
+
|
641
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
642
|
+
//! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
|
643
|
+
//! if there is no element with key equivalent to the key of that element.
|
644
|
+
//!
|
645
|
+
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from il.begin() to il.end())
|
646
|
+
void insert(std::initializer_list<value_type> il)
|
647
|
+
{ this->base_t::insert_unique(il.begin(), il.end()); }
|
648
|
+
#endif
|
568
649
|
|
569
|
-
#if defined(
|
650
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
570
651
|
|
571
652
|
//! <b>Effects</b>: Inserts an object x of type T constructed with
|
572
653
|
//! std::forward<Args>(args)... in the container if and only if there is
|
@@ -580,8 +661,8 @@ class map
|
|
580
661
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
581
662
|
//! is inserted right before p.
|
582
663
|
template <class... Args>
|
583
|
-
std::pair<iterator,bool> emplace(Args
|
584
|
-
{ return
|
664
|
+
std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
|
665
|
+
{ return this->base_t::emplace_unique(boost::forward<Args>(args)...); }
|
585
666
|
|
586
667
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
587
668
|
//! std::forward<Args>(args)... in the container if and only if there is
|
@@ -594,52 +675,49 @@ class map
|
|
594
675
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
595
676
|
//! is inserted right before p.
|
596
677
|
template <class... Args>
|
597
|
-
iterator emplace_hint(const_iterator
|
598
|
-
{ return
|
599
|
-
|
600
|
-
#else
|
678
|
+
iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args)
|
679
|
+
{ return this->base_t::emplace_hint_unique(p, boost::forward<Args>(args)...); }
|
680
|
+
|
681
|
+
#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
682
|
+
|
683
|
+
#define BOOST_CONTAINER_MAP_EMPLACE_CODE(N) \
|
684
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
685
|
+
std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
|
686
|
+
{ return this->base_t::emplace_unique(BOOST_MOVE_FWD##N); }\
|
687
|
+
\
|
688
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
689
|
+
iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
690
|
+
{ return this->base_t::emplace_hint_unique(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
|
691
|
+
//
|
692
|
+
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MAP_EMPLACE_CODE)
|
693
|
+
#undef BOOST_CONTAINER_MAP_EMPLACE_CODE
|
601
694
|
|
602
|
-
#
|
603
|
-
BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
|
604
|
-
std::pair<iterator,bool> emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
|
605
|
-
{ return m_tree.emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \
|
606
|
-
\
|
607
|
-
BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
|
608
|
-
iterator emplace_hint(const_iterator hint \
|
609
|
-
BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
|
610
|
-
{ return m_tree.emplace_hint_unique(hint \
|
611
|
-
BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \
|
612
|
-
//!
|
613
|
-
#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS)
|
614
|
-
#include BOOST_PP_LOCAL_ITERATE()
|
695
|
+
#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
615
696
|
|
616
|
-
#
|
697
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
617
698
|
|
618
|
-
//! <b>Effects</b>: Erases the element pointed to by
|
699
|
+
//! <b>Effects</b>: Erases the element pointed to by p.
|
619
700
|
//!
|
620
701
|
//! <b>Returns</b>: Returns an iterator pointing to the element immediately
|
621
702
|
//! following q prior to the element being erased. If no such element exists,
|
622
703
|
//! returns end().
|
623
704
|
//!
|
624
705
|
//! <b>Complexity</b>: Amortized constant time
|
625
|
-
iterator erase(const_iterator
|
626
|
-
{ return m_tree.erase(position); }
|
706
|
+
iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW;
|
627
707
|
|
628
708
|
//! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
|
629
709
|
//!
|
630
710
|
//! <b>Returns</b>: Returns the number of erased elements.
|
631
711
|
//!
|
632
712
|
//! <b>Complexity</b>: log(size()) + count(k)
|
633
|
-
size_type erase(const key_type& x)
|
634
|
-
{ return m_tree.erase(x); }
|
713
|
+
size_type erase(const key_type& x) BOOST_NOEXCEPT_OR_NOTHROW;
|
635
714
|
|
636
715
|
//! <b>Effects</b>: Erases all the elements in the range [first, last).
|
637
716
|
//!
|
638
717
|
//! <b>Returns</b>: Returns last.
|
639
718
|
//!
|
640
719
|
//! <b>Complexity</b>: log(size())+N where N is the distance from first to last.
|
641
|
-
iterator erase(const_iterator first, const_iterator last)
|
642
|
-
{ return m_tree.erase(first, last); }
|
720
|
+
iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW;
|
643
721
|
|
644
722
|
//! <b>Effects</b>: Swaps the contents of *this and x.
|
645
723
|
//!
|
@@ -647,116 +725,134 @@ class map
|
|
647
725
|
//!
|
648
726
|
//! <b>Complexity</b>: Constant.
|
649
727
|
void swap(map& x)
|
650
|
-
|
728
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
729
|
+
&& boost::container::container_detail::is_nothrow_swappable<Compare>::value )
|
651
730
|
|
652
731
|
//! <b>Effects</b>: erase(a.begin(),a.end()).
|
653
732
|
//!
|
654
733
|
//! <b>Postcondition</b>: size() == 0.
|
655
734
|
//!
|
656
735
|
//! <b>Complexity</b>: linear in size().
|
657
|
-
void clear()
|
658
|
-
{ m_tree.clear(); }
|
659
|
-
|
660
|
-
//////////////////////////////////////////////
|
661
|
-
//
|
662
|
-
// observers
|
663
|
-
//
|
664
|
-
//////////////////////////////////////////////
|
736
|
+
void clear() BOOST_NOEXCEPT_OR_NOTHROW;
|
665
737
|
|
666
738
|
//! <b>Effects</b>: Returns the comparison object out
|
667
739
|
//! of which a was constructed.
|
668
740
|
//!
|
669
741
|
//! <b>Complexity</b>: Constant.
|
670
|
-
key_compare key_comp() const
|
671
|
-
{ return m_tree.key_comp(); }
|
742
|
+
key_compare key_comp() const;
|
672
743
|
|
673
744
|
//! <b>Effects</b>: Returns an object of value_compare constructed out
|
674
745
|
//! of the comparison object.
|
675
746
|
//!
|
676
747
|
//! <b>Complexity</b>: Constant.
|
677
|
-
value_compare value_comp() const
|
678
|
-
{ return value_compare(m_tree.key_comp()); }
|
679
|
-
|
680
|
-
//////////////////////////////////////////////
|
681
|
-
//
|
682
|
-
// map operations
|
683
|
-
//
|
684
|
-
//////////////////////////////////////////////
|
748
|
+
value_compare value_comp() const;
|
685
749
|
|
686
750
|
//! <b>Returns</b>: An iterator pointing to an element with the key
|
687
751
|
//! equivalent to x, or end() if such an element is not found.
|
688
752
|
//!
|
689
753
|
//! <b>Complexity</b>: Logarithmic.
|
690
|
-
iterator find(const key_type& x)
|
691
|
-
{ return m_tree.find(x); }
|
754
|
+
iterator find(const key_type& x);
|
692
755
|
|
693
|
-
//! <b>Returns</b>:
|
756
|
+
//! <b>Returns</b>: A const_iterator pointing to an element with the key
|
694
757
|
//! equivalent to x, or end() if such an element is not found.
|
695
758
|
//!
|
696
759
|
//! <b>Complexity</b>: Logarithmic.
|
697
|
-
const_iterator find(const key_type& x) const
|
698
|
-
|
760
|
+
const_iterator find(const key_type& x) const;
|
761
|
+
|
762
|
+
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
699
763
|
|
700
764
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
701
765
|
//!
|
702
766
|
//! <b>Complexity</b>: log(size())+count(k)
|
703
767
|
size_type count(const key_type& x) const
|
704
|
-
{ return
|
768
|
+
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
769
|
+
|
770
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
705
771
|
|
706
772
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
707
773
|
//! than k, or a.end() if such an element is not found.
|
708
774
|
//!
|
709
775
|
//! <b>Complexity</b>: Logarithmic
|
710
|
-
iterator lower_bound(const key_type& x)
|
711
|
-
{ return m_tree.lower_bound(x); }
|
776
|
+
iterator lower_bound(const key_type& x);
|
712
777
|
|
713
|
-
//! <b>Returns</b>:
|
778
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
714
779
|
//! less than k, or a.end() if such an element is not found.
|
715
780
|
//!
|
716
781
|
//! <b>Complexity</b>: Logarithmic
|
717
|
-
const_iterator lower_bound(const key_type& x) const
|
718
|
-
{ return m_tree.lower_bound(x); }
|
782
|
+
const_iterator lower_bound(const key_type& x) const;
|
719
783
|
|
720
784
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
721
785
|
//! than x, or end() if such an element is not found.
|
722
786
|
//!
|
723
787
|
//! <b>Complexity</b>: Logarithmic
|
724
|
-
iterator upper_bound(const key_type& x)
|
725
|
-
{ return m_tree.upper_bound(x); }
|
788
|
+
iterator upper_bound(const key_type& x);
|
726
789
|
|
727
|
-
//! <b>Returns</b>:
|
790
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
728
791
|
//! less than x, or end() if such an element is not found.
|
729
792
|
//!
|
730
793
|
//! <b>Complexity</b>: Logarithmic
|
731
|
-
const_iterator upper_bound(const key_type& x) const
|
732
|
-
{ return m_tree.upper_bound(x); }
|
794
|
+
const_iterator upper_bound(const key_type& x) const;
|
733
795
|
|
734
796
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
735
797
|
//!
|
736
798
|
//! <b>Complexity</b>: Logarithmic
|
737
|
-
std::pair<iterator,iterator> equal_range(const key_type& x)
|
738
|
-
{ return m_tree.equal_range(x); }
|
799
|
+
std::pair<iterator,iterator> equal_range(const key_type& x);
|
739
800
|
|
740
801
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
741
802
|
//!
|
742
803
|
//! <b>Complexity</b>: Logarithmic
|
743
|
-
std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
804
|
+
std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const;
|
805
|
+
|
806
|
+
//! <b>Effects</b>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.
|
807
|
+
//!
|
808
|
+
//! <b>Complexity</b>: Linear
|
809
|
+
void rebalance();
|
810
|
+
|
811
|
+
//! <b>Effects</b>: Returns true if x and y are equal
|
812
|
+
//!
|
813
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
814
|
+
friend bool operator==(const map& x, const map& y);
|
815
|
+
|
816
|
+
//! <b>Effects</b>: Returns true if x and y are unequal
|
817
|
+
//!
|
818
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
819
|
+
friend bool operator!=(const map& x, const map& y);
|
820
|
+
|
821
|
+
//! <b>Effects</b>: Returns true if x is less than y
|
822
|
+
//!
|
823
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
824
|
+
friend bool operator<(const map& x, const map& y);
|
825
|
+
|
826
|
+
//! <b>Effects</b>: Returns true if x is greater than y
|
827
|
+
//!
|
828
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
829
|
+
friend bool operator>(const map& x, const map& y);
|
830
|
+
|
831
|
+
//! <b>Effects</b>: Returns true if x is equal or less than y
|
832
|
+
//!
|
833
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
834
|
+
friend bool operator<=(const map& x, const map& y);
|
835
|
+
|
836
|
+
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
837
|
+
//!
|
838
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
839
|
+
friend bool operator>=(const map& x, const map& y);
|
840
|
+
|
841
|
+
//! <b>Effects</b>: x.swap(y)
|
842
|
+
//!
|
843
|
+
//! <b>Complexity</b>: Constant.
|
844
|
+
friend void swap(map& x, map& y);
|
845
|
+
|
846
|
+
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
847
|
+
|
848
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
753
849
|
private:
|
754
850
|
mapped_type& priv_subscript(const key_type &k)
|
755
851
|
{
|
756
852
|
//we can optimize this
|
757
|
-
iterator i = lower_bound(k);
|
853
|
+
iterator i = this->lower_bound(k);
|
758
854
|
// i->first is greater than or equivalent to k.
|
759
|
-
if (i == end() || key_comp()(k, (*i).first)){
|
855
|
+
if (i == this->end() || this->key_comp()(k, (*i).first)){
|
760
856
|
container_detail::value_init<mapped_type> m;
|
761
857
|
movable_value_type val(k, boost::move(m.m_t));
|
762
858
|
i = insert(i, boost::move(val));
|
@@ -768,9 +864,9 @@ class map
|
|
768
864
|
{
|
769
865
|
key_type &k = mk;
|
770
866
|
//we can optimize this
|
771
|
-
iterator i = lower_bound(k);
|
867
|
+
iterator i = this->lower_bound(k);
|
772
868
|
// i->first is greater than or equivalent to k.
|
773
|
-
if (i == end() || key_comp()(k, (*i).first)){
|
869
|
+
if (i == this->end() || this->key_comp()(k, (*i).first)){
|
774
870
|
container_detail::value_init<mapped_type> m;
|
775
871
|
movable_value_type val(boost::move(k), boost::move(m.m_t));
|
776
872
|
i = insert(i, boost::move(val));
|
@@ -778,68 +874,30 @@ class map
|
|
778
874
|
return (*i).second;
|
779
875
|
}
|
780
876
|
|
781
|
-
|
877
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
782
878
|
};
|
783
879
|
|
784
|
-
template <class Key, class T, class Compare, class Allocator>
|
785
|
-
inline bool operator==(const map<Key,T,Compare,Allocator>& x,
|
786
|
-
const map<Key,T,Compare,Allocator>& y)
|
787
|
-
{ return x.m_tree == y.m_tree; }
|
788
|
-
|
789
|
-
template <class Key, class T, class Compare, class Allocator>
|
790
|
-
inline bool operator<(const map<Key,T,Compare,Allocator>& x,
|
791
|
-
const map<Key,T,Compare,Allocator>& y)
|
792
|
-
{ return x.m_tree < y.m_tree; }
|
793
|
-
|
794
|
-
template <class Key, class T, class Compare, class Allocator>
|
795
|
-
inline bool operator!=(const map<Key,T,Compare,Allocator>& x,
|
796
|
-
const map<Key,T,Compare,Allocator>& y)
|
797
|
-
{ return !(x == y); }
|
798
|
-
|
799
|
-
template <class Key, class T, class Compare, class Allocator>
|
800
|
-
inline bool operator>(const map<Key,T,Compare,Allocator>& x,
|
801
|
-
const map<Key,T,Compare,Allocator>& y)
|
802
|
-
{ return y < x; }
|
803
|
-
|
804
|
-
template <class Key, class T, class Compare, class Allocator>
|
805
|
-
inline bool operator<=(const map<Key,T,Compare,Allocator>& x,
|
806
|
-
const map<Key,T,Compare,Allocator>& y)
|
807
|
-
{ return !(y < x); }
|
808
|
-
|
809
|
-
template <class Key, class T, class Compare, class Allocator>
|
810
|
-
inline bool operator>=(const map<Key,T,Compare,Allocator>& x,
|
811
|
-
const map<Key,T,Compare,Allocator>& y)
|
812
|
-
{ return !(x < y); }
|
813
|
-
|
814
|
-
template <class Key, class T, class Compare, class Allocator>
|
815
|
-
inline void swap(map<Key,T,Compare,Allocator>& x, map<Key,T,Compare,Allocator>& y)
|
816
|
-
{ x.swap(y); }
|
817
|
-
|
818
|
-
/// @cond
|
819
880
|
|
820
|
-
|
821
|
-
|
822
|
-
template <class Key, class T, class Compare, class Allocator>
|
823
|
-
inline bool operator==(const multimap<Key,T,Compare,Allocator>& x,
|
824
|
-
const multimap<Key,T,Compare,Allocator>& y);
|
825
|
-
|
826
|
-
template <class Key, class T, class Compare, class Allocator>
|
827
|
-
inline bool operator<(const multimap<Key,T,Compare,Allocator>& x,
|
828
|
-
const multimap<Key,T,Compare,Allocator>& y);
|
881
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
829
882
|
|
830
883
|
} //namespace container {
|
831
884
|
|
832
885
|
//!has_trivial_destructor_after_move<> == true_type
|
833
886
|
//!specialization for optimizations
|
834
|
-
template <class
|
835
|
-
struct has_trivial_destructor_after_move<boost::container::map<
|
887
|
+
template <class Key, class T, class Compare, class Allocator>
|
888
|
+
struct has_trivial_destructor_after_move<boost::container::map<Key, T, Compare, Allocator> >
|
836
889
|
{
|
837
|
-
|
890
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
891
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
|
892
|
+
::boost::has_trivial_destructor_after_move<pointer>::value &&
|
893
|
+
::boost::has_trivial_destructor_after_move<Compare>::value;
|
838
894
|
};
|
839
895
|
|
840
896
|
namespace container {
|
841
897
|
|
842
|
-
|
898
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
899
|
+
|
900
|
+
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
843
901
|
|
844
902
|
//! A multimap is a kind of associative container that supports equivalent keys
|
845
903
|
//! (possibly containing multiple copies of the same key value) and provides for
|
@@ -847,33 +905,42 @@ namespace container {
|
|
847
905
|
//! supports bidirectional iterators.
|
848
906
|
//!
|
849
907
|
//! A multimap satisfies all of the requirements of a container and of a reversible
|
850
|
-
//! container and of an associative container.
|
851
|
-
//!
|
852
|
-
//!
|
853
|
-
//! Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
|
908
|
+
//! container and of an associative container. The <code>value_type</code> stored
|
909
|
+
//! by this container is the value_type is std::pair<const Key, T>.
|
854
910
|
//!
|
855
|
-
//!
|
856
|
-
//!
|
857
|
-
|
858
|
-
|
911
|
+
//! \tparam Key is the key_type of the map
|
912
|
+
//! \tparam Value is the <code>mapped_type</code>
|
913
|
+
//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
|
914
|
+
//! \tparam Allocator is the allocator to allocate the <code>value_type</code>s
|
915
|
+
//! (e.g. <i>allocator< std::pair<const Key, T> > </i>).
|
916
|
+
//! \tparam MultiMapOptions is an packed option type generated using using boost::container::tree_assoc_options.
|
917
|
+
template < class Key, class T, class Compare = std::less<Key>
|
918
|
+
, class Allocator = new_allocator< std::pair< const Key, T> >, class MultiMapOptions = tree_assoc_defaults>
|
859
919
|
#else
|
860
|
-
template <class Key, class T, class Compare, class Allocator>
|
920
|
+
template <class Key, class T, class Compare, class Allocator, class MultiMapOptions>
|
861
921
|
#endif
|
862
922
|
class multimap
|
923
|
+
///@cond
|
924
|
+
: public container_detail::tree
|
925
|
+
< Key, std::pair<const Key, T>
|
926
|
+
, container_detail::select1st< std::pair<const Key, T> >
|
927
|
+
, Compare, Allocator, MultiMapOptions>
|
928
|
+
///@endcond
|
863
929
|
{
|
864
|
-
|
930
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
865
931
|
private:
|
866
932
|
BOOST_COPYABLE_AND_MOVABLE(multimap)
|
867
933
|
|
868
934
|
typedef std::pair<const Key, T> value_type_impl;
|
869
|
-
typedef container_detail::
|
870
|
-
<Key, value_type_impl, container_detail::select1st<value_type_impl>, Compare, Allocator>
|
935
|
+
typedef container_detail::tree
|
936
|
+
<Key, value_type_impl, container_detail::select1st<value_type_impl>, Compare, Allocator, MultiMapOptions> base_t;
|
871
937
|
typedef container_detail::pair <Key, T> movable_value_type_impl;
|
872
938
|
typedef container_detail::tree_value_compare
|
873
939
|
< Key, value_type_impl, Compare, container_detail::select1st<value_type_impl>
|
874
940
|
> value_compare_impl;
|
875
|
-
|
876
|
-
|
941
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
942
|
+
|
943
|
+
typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
|
877
944
|
|
878
945
|
public:
|
879
946
|
//////////////////////////////////////////////
|
@@ -892,13 +959,13 @@ class multimap
|
|
892
959
|
typedef typename boost::container::allocator_traits<Allocator>::size_type size_type;
|
893
960
|
typedef typename boost::container::allocator_traits<Allocator>::difference_type difference_type;
|
894
961
|
typedef Allocator allocator_type;
|
895
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
962
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type;
|
896
963
|
typedef BOOST_CONTAINER_IMPDEF(value_compare_impl) value_compare;
|
897
964
|
typedef Compare key_compare;
|
898
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
899
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
900
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
901
|
-
typedef typename BOOST_CONTAINER_IMPDEF(
|
965
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::iterator) iterator;
|
966
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_iterator) const_iterator;
|
967
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::reverse_iterator) reverse_iterator;
|
968
|
+
typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_reverse_iterator) const_reverse_iterator;
|
902
969
|
typedef std::pair<key_type, mapped_type> nonconst_value_type;
|
903
970
|
typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type;
|
904
971
|
|
@@ -912,9 +979,19 @@ class multimap
|
|
912
979
|
//!
|
913
980
|
//! <b>Complexity</b>: Constant.
|
914
981
|
multimap()
|
915
|
-
:
|
982
|
+
: base_t()
|
983
|
+
{
|
984
|
+
//A type must be std::pair<CONST Key, T>
|
985
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
986
|
+
}
|
987
|
+
|
988
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified allocator.
|
989
|
+
//!
|
990
|
+
//! <b>Complexity</b>: Constant.
|
991
|
+
explicit multimap(const Compare& comp, const allocator_type& a = allocator_type())
|
992
|
+
: base_t(comp, a)
|
916
993
|
{
|
917
|
-
//
|
994
|
+
//A type must be std::pair<CONST Key, T>
|
918
995
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
919
996
|
}
|
920
997
|
|
@@ -922,10 +999,10 @@ class multimap
|
|
922
999
|
//! object and allocator.
|
923
1000
|
//!
|
924
1001
|
//! <b>Complexity</b>: Constant.
|
925
|
-
explicit multimap(const
|
926
|
-
:
|
1002
|
+
explicit multimap(const allocator_type& a)
|
1003
|
+
: base_t(a)
|
927
1004
|
{
|
928
|
-
//
|
1005
|
+
//A type must be std::pair<CONST Key, T>
|
929
1006
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
930
1007
|
}
|
931
1008
|
|
@@ -938,9 +1015,22 @@ class multimap
|
|
938
1015
|
multimap(InputIterator first, InputIterator last,
|
939
1016
|
const Compare& comp = Compare(),
|
940
1017
|
const allocator_type& a = allocator_type())
|
941
|
-
:
|
1018
|
+
: base_t(false, first, last, comp, a)
|
942
1019
|
{
|
943
|
-
//
|
1020
|
+
//A type must be std::pair<CONST Key, T>
|
1021
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified
|
1025
|
+
//! allocator, and inserts elements from the range [first ,last ).
|
1026
|
+
//!
|
1027
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
1028
|
+
//! comp and otherwise N logN, where N is last - first.
|
1029
|
+
template <class InputIterator>
|
1030
|
+
multimap(InputIterator first, InputIterator last, const allocator_type& a)
|
1031
|
+
: base_t(false, first, last, Compare(), a)
|
1032
|
+
{
|
1033
|
+
//A type must be std::pair<CONST Key, T>
|
944
1034
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
945
1035
|
}
|
946
1036
|
|
@@ -951,19 +1041,65 @@ class multimap
|
|
951
1041
|
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
|
952
1042
|
//!
|
953
1043
|
//! <b>Complexity</b>: Linear in N.
|
1044
|
+
//!
|
1045
|
+
//! <b>Note</b>: Non-standard extension.
|
954
1046
|
template <class InputIterator>
|
955
1047
|
multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp = Compare(),
|
956
1048
|
const allocator_type& a = allocator_type())
|
957
|
-
:
|
1049
|
+
: base_t(ordered_range, first, last, comp, a)
|
958
1050
|
{}
|
959
1051
|
|
1052
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1053
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
|
1054
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
1055
|
+
//!
|
1056
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
1057
|
+
//! comp and otherwise N logN, where N is il.first() - il.end().
|
1058
|
+
multimap(std::initializer_list<value_type> il, const Compare& comp = Compare(),
|
1059
|
+
const allocator_type& a = allocator_type())
|
1060
|
+
: base_t(false, il.begin(), il.end(), comp, a)
|
1061
|
+
{
|
1062
|
+
//A type must be std::pair<CONST Key, T>
|
1063
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
1064
|
+
}
|
1065
|
+
|
1066
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified
|
1067
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
1068
|
+
//!
|
1069
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
1070
|
+
//! comp and otherwise N logN, where N is il.first() - il.end().
|
1071
|
+
multimap(std::initializer_list<value_type> il, const allocator_type& a)
|
1072
|
+
: base_t(false, il.begin(), il.end(), Compare(), a)
|
1073
|
+
{
|
1074
|
+
//A type must be std::pair<CONST Key, T>
|
1075
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
1076
|
+
}
|
1077
|
+
|
1078
|
+
//! <b>Effects</b>: Constructs an empty set using the specified comparison object and
|
1079
|
+
//! allocator, and inserts elements from the ordered range [il.begin(), il.end()). This function
|
1080
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
1081
|
+
//!
|
1082
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
|
1083
|
+
//!
|
1084
|
+
//! <b>Complexity</b>: Linear in N.
|
1085
|
+
//!
|
1086
|
+
//! <b>Note</b>: Non-standard extension.
|
1087
|
+
multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp = Compare(),
|
1088
|
+
const allocator_type& a = allocator_type())
|
1089
|
+
: base_t(ordered_range, il.begin(), il.end(), comp, a)
|
1090
|
+
{
|
1091
|
+
//A type must be std::pair<CONST Key, T>
|
1092
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
1093
|
+
}
|
1094
|
+
#endif
|
1095
|
+
|
960
1096
|
//! <b>Effects</b>: Copy constructs a multimap.
|
961
1097
|
//!
|
962
1098
|
//! <b>Complexity</b>: Linear in x.size().
|
963
1099
|
multimap(const multimap& x)
|
964
|
-
:
|
1100
|
+
: base_t(static_cast<const base_t&>(x))
|
965
1101
|
{
|
966
|
-
//
|
1102
|
+
//A type must be std::pair<CONST Key, T>
|
967
1103
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
968
1104
|
}
|
969
1105
|
|
@@ -973,9 +1109,9 @@ class multimap
|
|
973
1109
|
//!
|
974
1110
|
//! <b>Postcondition</b>: x is emptied.
|
975
1111
|
multimap(BOOST_RV_REF(multimap) x)
|
976
|
-
:
|
1112
|
+
: base_t(BOOST_MOVE_BASE(base_t, x))
|
977
1113
|
{
|
978
|
-
//
|
1114
|
+
//A type must be std::pair<CONST Key, T>
|
979
1115
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
980
1116
|
}
|
981
1117
|
|
@@ -983,9 +1119,9 @@ class multimap
|
|
983
1119
|
//!
|
984
1120
|
//! <b>Complexity</b>: Linear in x.size().
|
985
1121
|
multimap(const multimap& x, const allocator_type &a)
|
986
|
-
:
|
1122
|
+
: base_t(static_cast<const base_t&>(x), a)
|
987
1123
|
{
|
988
|
-
//
|
1124
|
+
//A type must be std::pair<CONST Key, T>
|
989
1125
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
990
1126
|
}
|
991
1127
|
|
@@ -995,9 +1131,9 @@ class multimap
|
|
995
1131
|
//!
|
996
1132
|
//! <b>Postcondition</b>: x is emptied.
|
997
1133
|
multimap(BOOST_RV_REF(multimap) x, const allocator_type &a)
|
998
|
-
:
|
1134
|
+
: base_t(BOOST_MOVE_BASE(base_t, x), a)
|
999
1135
|
{
|
1000
|
-
//
|
1136
|
+
//A type must be std::pair<CONST Key, T>
|
1001
1137
|
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
1002
1138
|
}
|
1003
1139
|
|
@@ -1005,186 +1141,86 @@ class multimap
|
|
1005
1141
|
//!
|
1006
1142
|
//! <b>Complexity</b>: Linear in x.size().
|
1007
1143
|
multimap& operator=(BOOST_COPY_ASSIGN_REF(multimap) x)
|
1008
|
-
{
|
1144
|
+
{ return static_cast<multimap&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
|
1009
1145
|
|
1010
1146
|
//! <b>Effects</b>: this->swap(x.get()).
|
1011
1147
|
//!
|
1012
1148
|
//! <b>Complexity</b>: Constant.
|
1013
1149
|
multimap& operator=(BOOST_RV_REF(multimap) x)
|
1014
|
-
|
1150
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
1151
|
+
&& boost::container::container_detail::is_nothrow_move_assignable<Compare>::value )
|
1152
|
+
{ return static_cast<multimap&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
|
1015
1153
|
|
1016
|
-
|
1017
|
-
//!
|
1154
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1155
|
+
//! <b>Effects</b>: Assign content of il to *this.
|
1018
1156
|
//!
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1157
|
+
multimap& operator=(std::initializer_list<value_type> il)
|
1158
|
+
{
|
1159
|
+
this->clear();
|
1160
|
+
insert(il.begin(), il.end());
|
1161
|
+
return *this;
|
1162
|
+
}
|
1163
|
+
#endif
|
1022
1164
|
|
1023
|
-
|
1024
|
-
//!
|
1025
|
-
//! <b>Throws</b>: Nothing
|
1026
|
-
//!
|
1027
|
-
//! <b>Complexity</b>: Constant.
|
1028
|
-
//!
|
1029
|
-
//! <b>Note</b>: Non-standard extension.
|
1030
|
-
stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT
|
1031
|
-
{ return m_tree.get_stored_allocator(); }
|
1165
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1032
1166
|
|
1033
|
-
//!
|
1034
|
-
|
1035
|
-
//! <b>Throws</b>: Nothing
|
1036
|
-
//!
|
1037
|
-
//! <b>Complexity</b>: Constant.
|
1038
|
-
//!
|
1039
|
-
//! <b>Note</b>: Non-standard extension.
|
1040
|
-
const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT
|
1041
|
-
{ return m_tree.get_stored_allocator(); }
|
1167
|
+
//! @copydoc ::boost::container::set::get_allocator()
|
1168
|
+
allocator_type get_allocator() const;
|
1042
1169
|
|
1043
|
-
|
1044
|
-
|
1045
|
-
// iterators
|
1046
|
-
//
|
1047
|
-
//////////////////////////////////////////////
|
1170
|
+
//! @copydoc ::boost::container::set::get_stored_allocator()
|
1171
|
+
stored_allocator_type &get_stored_allocator();
|
1048
1172
|
|
1049
|
-
//!
|
1050
|
-
|
1051
|
-
//! <b>Throws</b>: Nothing.
|
1052
|
-
//!
|
1053
|
-
//! <b>Complexity</b>: Constant.
|
1054
|
-
iterator begin() BOOST_CONTAINER_NOEXCEPT
|
1055
|
-
{ return m_tree.begin(); }
|
1173
|
+
//! @copydoc ::boost::container::set::get_stored_allocator() const
|
1174
|
+
const stored_allocator_type &get_stored_allocator() const;
|
1056
1175
|
|
1057
|
-
//!
|
1058
|
-
|
1059
|
-
//! <b>Throws</b>: Nothing.
|
1060
|
-
//!
|
1061
|
-
//! <b>Complexity</b>: Constant.
|
1062
|
-
const_iterator begin() const BOOST_CONTAINER_NOEXCEPT
|
1063
|
-
{ return this->cbegin(); }
|
1176
|
+
//! @copydoc ::boost::container::set::begin()
|
1177
|
+
iterator begin();
|
1064
1178
|
|
1065
|
-
//!
|
1066
|
-
|
1067
|
-
//! <b>Throws</b>: Nothing.
|
1068
|
-
//!
|
1069
|
-
//! <b>Complexity</b>: Constant.
|
1070
|
-
iterator end() BOOST_CONTAINER_NOEXCEPT
|
1071
|
-
{ return m_tree.end(); }
|
1179
|
+
//! @copydoc ::boost::container::set::begin() const
|
1180
|
+
const_iterator begin() const;
|
1072
1181
|
|
1073
|
-
//!
|
1074
|
-
|
1075
|
-
//! <b>Throws</b>: Nothing.
|
1076
|
-
//!
|
1077
|
-
//! <b>Complexity</b>: Constant.
|
1078
|
-
const_iterator end() const BOOST_CONTAINER_NOEXCEPT
|
1079
|
-
{ return this->cend(); }
|
1182
|
+
//! @copydoc ::boost::container::set::cbegin() const
|
1183
|
+
const_iterator cbegin() const;
|
1080
1184
|
|
1081
|
-
//!
|
1082
|
-
|
1083
|
-
//!
|
1084
|
-
//! <b>Throws</b>: Nothing.
|
1085
|
-
//!
|
1086
|
-
//! <b>Complexity</b>: Constant.
|
1087
|
-
reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT
|
1088
|
-
{ return m_tree.rbegin(); }
|
1185
|
+
//! @copydoc ::boost::container::set::end()
|
1186
|
+
iterator end() BOOST_NOEXCEPT_OR_NOTHROW;
|
1089
1187
|
|
1090
|
-
//!
|
1091
|
-
|
1092
|
-
//!
|
1093
|
-
//! <b>Throws</b>: Nothing.
|
1094
|
-
//!
|
1095
|
-
//! <b>Complexity</b>: Constant.
|
1096
|
-
const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT
|
1097
|
-
{ return this->crbegin(); }
|
1188
|
+
//! @copydoc ::boost::container::set::end() const
|
1189
|
+
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1098
1190
|
|
1099
|
-
//!
|
1100
|
-
|
1101
|
-
//!
|
1102
|
-
//! <b>Throws</b>: Nothing.
|
1103
|
-
//!
|
1104
|
-
//! <b>Complexity</b>: Constant.
|
1105
|
-
reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT
|
1106
|
-
{ return m_tree.rend(); }
|
1191
|
+
//! @copydoc ::boost::container::set::cend() const
|
1192
|
+
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1107
1193
|
|
1108
|
-
//!
|
1109
|
-
|
1110
|
-
//!
|
1111
|
-
//! <b>Throws</b>: Nothing.
|
1112
|
-
//!
|
1113
|
-
//! <b>Complexity</b>: Constant.
|
1114
|
-
const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT
|
1115
|
-
{ return this->crend(); }
|
1194
|
+
//! @copydoc ::boost::container::set::rbegin()
|
1195
|
+
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW;
|
1116
1196
|
|
1117
|
-
//!
|
1118
|
-
|
1119
|
-
//! <b>Throws</b>: Nothing.
|
1120
|
-
//!
|
1121
|
-
//! <b>Complexity</b>: Constant.
|
1122
|
-
const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT
|
1123
|
-
{ return m_tree.begin(); }
|
1197
|
+
//! @copydoc ::boost::container::set::rbegin() const
|
1198
|
+
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1124
1199
|
|
1125
|
-
//!
|
1126
|
-
|
1127
|
-
//! <b>Throws</b>: Nothing.
|
1128
|
-
//!
|
1129
|
-
//! <b>Complexity</b>: Constant.
|
1130
|
-
const_iterator cend() const BOOST_CONTAINER_NOEXCEPT
|
1131
|
-
{ return m_tree.end(); }
|
1200
|
+
//! @copydoc ::boost::container::set::crbegin() const
|
1201
|
+
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1132
1202
|
|
1133
|
-
//!
|
1134
|
-
|
1135
|
-
//!
|
1136
|
-
//! <b>Throws</b>: Nothing.
|
1137
|
-
//!
|
1138
|
-
//! <b>Complexity</b>: Constant.
|
1139
|
-
const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT
|
1140
|
-
{ return m_tree.rbegin(); }
|
1203
|
+
//! @copydoc ::boost::container::set::rend()
|
1204
|
+
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW;
|
1141
1205
|
|
1142
|
-
//!
|
1143
|
-
|
1144
|
-
//!
|
1145
|
-
//! <b>Throws</b>: Nothing.
|
1146
|
-
//!
|
1147
|
-
//! <b>Complexity</b>: Constant.
|
1148
|
-
const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT
|
1149
|
-
{ return m_tree.rend(); }
|
1206
|
+
//! @copydoc ::boost::container::set::rend() const
|
1207
|
+
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1150
1208
|
|
1151
|
-
|
1152
|
-
|
1153
|
-
// capacity
|
1154
|
-
//
|
1155
|
-
//////////////////////////////////////////////
|
1209
|
+
//! @copydoc ::boost::container::set::crend() const
|
1210
|
+
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1156
1211
|
|
1157
|
-
//!
|
1158
|
-
|
1159
|
-
//! <b>Throws</b>: Nothing.
|
1160
|
-
//!
|
1161
|
-
//! <b>Complexity</b>: Constant.
|
1162
|
-
bool empty() const BOOST_CONTAINER_NOEXCEPT
|
1163
|
-
{ return m_tree.empty(); }
|
1212
|
+
//! @copydoc ::boost::container::set::empty() const
|
1213
|
+
bool empty() const;
|
1164
1214
|
|
1165
|
-
//!
|
1166
|
-
|
1167
|
-
//! <b>Throws</b>: Nothing.
|
1168
|
-
//!
|
1169
|
-
//! <b>Complexity</b>: Constant.
|
1170
|
-
size_type size() const BOOST_CONTAINER_NOEXCEPT
|
1171
|
-
{ return m_tree.size(); }
|
1215
|
+
//! @copydoc ::boost::container::set::size() const
|
1216
|
+
size_type size() const;
|
1172
1217
|
|
1173
|
-
//!
|
1174
|
-
|
1175
|
-
//! <b>Throws</b>: Nothing.
|
1176
|
-
//!
|
1177
|
-
//! <b>Complexity</b>: Constant.
|
1178
|
-
size_type max_size() const BOOST_CONTAINER_NOEXCEPT
|
1179
|
-
{ return m_tree.max_size(); }
|
1218
|
+
//! @copydoc ::boost::container::set::max_size() const
|
1219
|
+
size_type max_size() const;
|
1180
1220
|
|
1181
|
-
|
1182
|
-
//
|
1183
|
-
// modifiers
|
1184
|
-
//
|
1185
|
-
//////////////////////////////////////////////
|
1221
|
+
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1186
1222
|
|
1187
|
-
#if defined(
|
1223
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1188
1224
|
|
1189
1225
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
1190
1226
|
//! std::forward<Args>(args)... in the container.
|
@@ -1196,8 +1232,8 @@ class multimap
|
|
1196
1232
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
1197
1233
|
//! is inserted right before p.
|
1198
1234
|
template <class... Args>
|
1199
|
-
iterator emplace(Args
|
1200
|
-
{ return
|
1235
|
+
iterator emplace(BOOST_FWD_REF(Args)... args)
|
1236
|
+
{ return this->base_t::emplace_equal(boost::forward<Args>(args)...); }
|
1201
1237
|
|
1202
1238
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
1203
1239
|
//! std::forward<Args>(args)... in the container.
|
@@ -1209,54 +1245,52 @@ class multimap
|
|
1209
1245
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
1210
1246
|
//! is inserted right before p.
|
1211
1247
|
template <class... Args>
|
1212
|
-
iterator emplace_hint(const_iterator
|
1213
|
-
{ return
|
1214
|
-
|
1215
|
-
#else
|
1216
|
-
|
1217
|
-
#define
|
1218
|
-
|
1219
|
-
iterator emplace(
|
1220
|
-
{ return
|
1221
|
-
|
1222
|
-
|
1223
|
-
iterator emplace_hint(const_iterator hint
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS)
|
1229
|
-
#include BOOST_PP_LOCAL_ITERATE()
|
1248
|
+
iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args)
|
1249
|
+
{ return this->base_t::emplace_hint_equal(p, boost::forward<Args>(args)...); }
|
1250
|
+
|
1251
|
+
#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
1252
|
+
|
1253
|
+
#define BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE(N) \
|
1254
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1255
|
+
iterator emplace(BOOST_MOVE_UREF##N)\
|
1256
|
+
{ return this->base_t::emplace_equal(BOOST_MOVE_FWD##N); }\
|
1257
|
+
\
|
1258
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1259
|
+
iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
1260
|
+
{ return this->base_t::emplace_hint_equal(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
|
1261
|
+
//
|
1262
|
+
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE)
|
1263
|
+
#undef BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE
|
1230
1264
|
|
1231
|
-
#endif
|
1265
|
+
#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
1232
1266
|
|
1233
1267
|
//! <b>Effects</b>: Inserts x and returns the iterator pointing to the
|
1234
1268
|
//! newly inserted element.
|
1235
1269
|
//!
|
1236
1270
|
//! <b>Complexity</b>: Logarithmic.
|
1237
1271
|
iterator insert(const value_type& x)
|
1238
|
-
{ return
|
1272
|
+
{ return this->base_t::insert_equal(x); }
|
1239
1273
|
|
1240
1274
|
//! <b>Effects</b>: Inserts a new value constructed from x and returns
|
1241
1275
|
//! the iterator pointing to the newly inserted element.
|
1242
1276
|
//!
|
1243
1277
|
//! <b>Complexity</b>: Logarithmic.
|
1244
1278
|
iterator insert(const nonconst_value_type& x)
|
1245
|
-
{ return
|
1279
|
+
{ return this->base_t::insert_equal(x); }
|
1246
1280
|
|
1247
1281
|
//! <b>Effects</b>: Inserts a new value move-constructed from x and returns
|
1248
1282
|
//! the iterator pointing to the newly inserted element.
|
1249
1283
|
//!
|
1250
1284
|
//! <b>Complexity</b>: Logarithmic.
|
1251
1285
|
iterator insert(BOOST_RV_REF(nonconst_value_type) x)
|
1252
|
-
{ return
|
1286
|
+
{ return this->base_t::insert_equal(boost::move(x)); }
|
1253
1287
|
|
1254
1288
|
//! <b>Effects</b>: Inserts a new value move-constructed from x and returns
|
1255
1289
|
//! the iterator pointing to the newly inserted element.
|
1256
1290
|
//!
|
1257
1291
|
//! <b>Complexity</b>: Logarithmic.
|
1258
1292
|
iterator insert(BOOST_RV_REF(movable_value_type) x)
|
1259
|
-
{ return
|
1293
|
+
{ return this->base_t::insert_equal(boost::move(x)); }
|
1260
1294
|
|
1261
1295
|
//! <b>Effects</b>: Inserts a copy of x in the container.
|
1262
1296
|
//! p is a hint pointing to where the insert should start to search.
|
@@ -1266,8 +1300,8 @@ class multimap
|
|
1266
1300
|
//!
|
1267
1301
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
1268
1302
|
//! is inserted right before p.
|
1269
|
-
iterator insert(const_iterator
|
1270
|
-
{ return
|
1303
|
+
iterator insert(const_iterator p, const value_type& x)
|
1304
|
+
{ return this->base_t::insert_equal(p, x); }
|
1271
1305
|
|
1272
1306
|
//! <b>Effects</b>: Inserts a new value constructed from x in the container.
|
1273
1307
|
//! p is a hint pointing to where the insert should start to search.
|
@@ -1277,8 +1311,8 @@ class multimap
|
|
1277
1311
|
//!
|
1278
1312
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
1279
1313
|
//! is inserted right before p.
|
1280
|
-
iterator insert(const_iterator
|
1281
|
-
{ return
|
1314
|
+
iterator insert(const_iterator p, const nonconst_value_type& x)
|
1315
|
+
{ return this->base_t::insert_equal(p, x); }
|
1282
1316
|
|
1283
1317
|
//! <b>Effects</b>: Inserts a new value move constructed from x in the container.
|
1284
1318
|
//! p is a hint pointing to where the insert should start to search.
|
@@ -1288,8 +1322,8 @@ class multimap
|
|
1288
1322
|
//!
|
1289
1323
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
1290
1324
|
//! is inserted right before p.
|
1291
|
-
iterator insert(const_iterator
|
1292
|
-
{ return
|
1325
|
+
iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x)
|
1326
|
+
{ return this->base_t::insert_equal(p, boost::move(x)); }
|
1293
1327
|
|
1294
1328
|
//! <b>Effects</b>: Inserts a new value move constructed from x in the container.
|
1295
1329
|
//! p is a hint pointing to where the insert should start to search.
|
@@ -1299,8 +1333,8 @@ class multimap
|
|
1299
1333
|
//!
|
1300
1334
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
1301
1335
|
//! is inserted right before p.
|
1302
|
-
iterator insert(const_iterator
|
1303
|
-
{ return
|
1336
|
+
iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
|
1337
|
+
{ return this->base_t::insert_equal(p, boost::move(x)); }
|
1304
1338
|
|
1305
1339
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
1306
1340
|
//!
|
@@ -1309,200 +1343,157 @@ class multimap
|
|
1309
1343
|
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
|
1310
1344
|
template <class InputIterator>
|
1311
1345
|
void insert(InputIterator first, InputIterator last)
|
1312
|
-
{
|
1346
|
+
{ this->base_t::insert_equal(first, last); }
|
1313
1347
|
|
1314
|
-
|
1348
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1349
|
+
//! <b>Effects</b>: inserts each element from the range [il.begin(), il.end().
|
1315
1350
|
//!
|
1316
|
-
//! <b>
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
//! <b>Complexity</b>: Amortized constant time
|
1321
|
-
iterator erase(const_iterator position) BOOST_CONTAINER_NOEXCEPT
|
1322
|
-
{ return m_tree.erase(position); }
|
1351
|
+
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from il.begin() to il.end())
|
1352
|
+
void insert(std::initializer_list<value_type> il)
|
1353
|
+
{ this->base_t::insert_equal(il.begin(), il.end()); }
|
1354
|
+
#endif
|
1323
1355
|
|
1324
|
-
|
1325
|
-
//!
|
1326
|
-
//! <b>Returns</b>: Returns the number of erased elements.
|
1327
|
-
//!
|
1328
|
-
//! <b>Complexity</b>: log(size()) + count(k)
|
1329
|
-
size_type erase(const key_type& x) BOOST_CONTAINER_NOEXCEPT
|
1330
|
-
{ return m_tree.erase(x); }
|
1356
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1331
1357
|
|
1332
|
-
//!
|
1333
|
-
|
1334
|
-
//! <b>Returns</b>: Returns last.
|
1335
|
-
//!
|
1336
|
-
//! <b>Complexity</b>: log(size())+N where N is the distance from first to last.
|
1337
|
-
iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT
|
1338
|
-
{ return m_tree.erase(first, last); }
|
1358
|
+
//! @copydoc ::boost::container::set::erase(const_iterator)
|
1359
|
+
iterator erase(const_iterator p);
|
1339
1360
|
|
1340
|
-
//!
|
1341
|
-
|
1342
|
-
//! <b>Throws</b>: Nothing.
|
1343
|
-
//!
|
1344
|
-
//! <b>Complexity</b>: Constant.
|
1345
|
-
void swap(multimap& x)
|
1346
|
-
{ m_tree.swap(x.m_tree); }
|
1361
|
+
//! @copydoc ::boost::container::set::erase(const key_type&)
|
1362
|
+
size_type erase(const key_type& x);
|
1347
1363
|
|
1348
|
-
//!
|
1349
|
-
|
1350
|
-
//! <b>Postcondition</b>: size() == 0.
|
1351
|
-
//!
|
1352
|
-
//! <b>Complexity</b>: linear in size().
|
1353
|
-
void clear() BOOST_CONTAINER_NOEXCEPT
|
1354
|
-
{ m_tree.clear(); }
|
1364
|
+
//! @copydoc ::boost::container::set::erase(const_iterator,const_iterator)
|
1365
|
+
iterator erase(const_iterator first, const_iterator last);
|
1355
1366
|
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
//////////////////////////////////////////////
|
1367
|
+
//! @copydoc ::boost::container::set::swap
|
1368
|
+
void swap(multiset& x)
|
1369
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
1370
|
+
&& boost::container::container_detail::is_nothrow_swappable<Compare>::value );
|
1361
1371
|
|
1362
|
-
//!
|
1363
|
-
|
1364
|
-
//!
|
1365
|
-
//! <b>Complexity</b>: Constant.
|
1366
|
-
key_compare key_comp() const
|
1367
|
-
{ return m_tree.key_comp(); }
|
1372
|
+
//! @copydoc ::boost::container::set::clear
|
1373
|
+
void clear() BOOST_NOEXCEPT_OR_NOTHROW;
|
1368
1374
|
|
1369
|
-
//!
|
1370
|
-
|
1371
|
-
//!
|
1372
|
-
//! <b>Complexity</b>: Constant.
|
1373
|
-
value_compare value_comp() const
|
1374
|
-
{ return value_compare(m_tree.key_comp()); }
|
1375
|
+
//! @copydoc ::boost::container::set::key_comp
|
1376
|
+
key_compare key_comp() const;
|
1375
1377
|
|
1376
|
-
|
1377
|
-
|
1378
|
-
// map operations
|
1379
|
-
//
|
1380
|
-
//////////////////////////////////////////////
|
1378
|
+
//! @copydoc ::boost::container::set::value_comp
|
1379
|
+
value_compare value_comp() const;
|
1381
1380
|
|
1382
1381
|
//! <b>Returns</b>: An iterator pointing to an element with the key
|
1383
1382
|
//! equivalent to x, or end() if such an element is not found.
|
1384
1383
|
//!
|
1385
1384
|
//! <b>Complexity</b>: Logarithmic.
|
1386
|
-
iterator find(const key_type& x)
|
1387
|
-
{ return m_tree.find(x); }
|
1385
|
+
iterator find(const key_type& x);
|
1388
1386
|
|
1389
|
-
//! <b>Returns</b>:
|
1387
|
+
//! <b>Returns</b>: A const iterator pointing to an element with the key
|
1390
1388
|
//! equivalent to x, or end() if such an element is not found.
|
1391
1389
|
//!
|
1392
1390
|
//! <b>Complexity</b>: Logarithmic.
|
1393
|
-
const_iterator find(const key_type& x) const
|
1394
|
-
{ return m_tree.find(x); }
|
1391
|
+
const_iterator find(const key_type& x) const;
|
1395
1392
|
|
1396
1393
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
1397
1394
|
//!
|
1398
1395
|
//! <b>Complexity</b>: log(size())+count(k)
|
1399
|
-
size_type count(const key_type& x) const
|
1400
|
-
{ return m_tree.count(x); }
|
1396
|
+
size_type count(const key_type& x) const;
|
1401
1397
|
|
1402
1398
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
1403
1399
|
//! than k, or a.end() if such an element is not found.
|
1404
1400
|
//!
|
1405
1401
|
//! <b>Complexity</b>: Logarithmic
|
1406
|
-
iterator lower_bound(const key_type& x)
|
1407
|
-
{return m_tree.lower_bound(x); }
|
1402
|
+
iterator lower_bound(const key_type& x);
|
1408
1403
|
|
1409
|
-
//! <b>Returns</b>:
|
1404
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
1410
1405
|
//! less than k, or a.end() if such an element is not found.
|
1411
1406
|
//!
|
1412
1407
|
//! <b>Complexity</b>: Logarithmic
|
1413
|
-
const_iterator lower_bound(const key_type& x) const
|
1414
|
-
{ return m_tree.lower_bound(x); }
|
1408
|
+
const_iterator lower_bound(const key_type& x) const;
|
1415
1409
|
|
1416
1410
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
1417
1411
|
//! than x, or end() if such an element is not found.
|
1418
1412
|
//!
|
1419
1413
|
//! <b>Complexity</b>: Logarithmic
|
1420
|
-
iterator upper_bound(const key_type& x)
|
1421
|
-
{ return m_tree.upper_bound(x); }
|
1414
|
+
iterator upper_bound(const key_type& x);
|
1422
1415
|
|
1423
|
-
//! <b>Returns</b>:
|
1416
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
1424
1417
|
//! less than x, or end() if such an element is not found.
|
1425
1418
|
//!
|
1426
1419
|
//! <b>Complexity</b>: Logarithmic
|
1427
|
-
const_iterator upper_bound(const key_type& x) const
|
1428
|
-
{ return m_tree.upper_bound(x); }
|
1420
|
+
const_iterator upper_bound(const key_type& x) const;
|
1429
1421
|
|
1430
1422
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
1431
1423
|
//!
|
1432
1424
|
//! <b>Complexity</b>: Logarithmic
|
1433
|
-
std::pair<iterator,iterator> equal_range(const key_type& x)
|
1434
|
-
{ return m_tree.equal_range(x); }
|
1425
|
+
std::pair<iterator,iterator> equal_range(const key_type& x);
|
1435
1426
|
|
1436
1427
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
1437
1428
|
//!
|
1438
1429
|
//! <b>Complexity</b>: Logarithmic
|
1439
|
-
std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const
|
1440
|
-
{ return m_tree.equal_range(x); }
|
1441
|
-
|
1442
|
-
/// @cond
|
1443
|
-
template <class K1, class T1, class C1, class A1>
|
1444
|
-
friend bool operator== (const multimap<K1, T1, C1, A1>& x,
|
1445
|
-
const multimap<K1, T1, C1, A1>& y);
|
1446
|
-
|
1447
|
-
template <class K1, class T1, class C1, class A1>
|
1448
|
-
friend bool operator< (const multimap<K1, T1, C1, A1>& x,
|
1449
|
-
const multimap<K1, T1, C1, A1>& y);
|
1450
|
-
/// @endcond
|
1451
|
-
};
|
1430
|
+
std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const;
|
1452
1431
|
|
1453
|
-
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1432
|
+
//! <b>Effects</b>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.
|
1433
|
+
//!
|
1434
|
+
//! <b>Complexity</b>: Linear
|
1435
|
+
void rebalance();
|
1457
1436
|
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1437
|
+
//! <b>Effects</b>: Returns true if x and y are equal
|
1438
|
+
//!
|
1439
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1440
|
+
friend bool operator==(const multimap& x, const multimap& y);
|
1462
1441
|
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1466
|
-
|
1442
|
+
//! <b>Effects</b>: Returns true if x and y are unequal
|
1443
|
+
//!
|
1444
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1445
|
+
friend bool operator!=(const multimap& x, const multimap& y);
|
1467
1446
|
|
1468
|
-
|
1469
|
-
|
1470
|
-
|
1471
|
-
|
1447
|
+
//! <b>Effects</b>: Returns true if x is less than y
|
1448
|
+
//!
|
1449
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1450
|
+
friend bool operator<(const multimap& x, const multimap& y);
|
1472
1451
|
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1476
|
-
|
1452
|
+
//! <b>Effects</b>: Returns true if x is greater than y
|
1453
|
+
//!
|
1454
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1455
|
+
friend bool operator>(const multimap& x, const multimap& y);
|
1477
1456
|
|
1478
|
-
|
1479
|
-
|
1480
|
-
|
1481
|
-
|
1457
|
+
//! <b>Effects</b>: Returns true if x is equal or less than y
|
1458
|
+
//!
|
1459
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1460
|
+
friend bool operator<=(const multimap& x, const multimap& y);
|
1482
1461
|
|
1483
|
-
|
1484
|
-
|
1485
|
-
|
1462
|
+
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
1463
|
+
//!
|
1464
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1465
|
+
friend bool operator>=(const multimap& x, const multimap& y);
|
1486
1466
|
|
1487
|
-
|
1467
|
+
//! <b>Effects</b>: x.swap(y)
|
1468
|
+
//!
|
1469
|
+
//! <b>Complexity</b>: Constant.
|
1470
|
+
friend void swap(multimap& x, multimap& y);
|
1471
|
+
|
1472
|
+
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1473
|
+
};
|
1474
|
+
|
1475
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1488
1476
|
|
1489
1477
|
} //namespace container {
|
1490
1478
|
|
1491
1479
|
//!has_trivial_destructor_after_move<> == true_type
|
1492
1480
|
//!specialization for optimizations
|
1493
|
-
template <class
|
1494
|
-
struct has_trivial_destructor_after_move<boost::container::multimap<
|
1481
|
+
template <class Key, class T, class Compare, class Allocator>
|
1482
|
+
struct has_trivial_destructor_after_move<boost::container::multimap<Key, T, Compare, Allocator> >
|
1495
1483
|
{
|
1496
|
-
|
1484
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
1485
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
|
1486
|
+
::boost::has_trivial_destructor_after_move<pointer>::value &&
|
1487
|
+
::boost::has_trivial_destructor_after_move<Compare>::value;
|
1497
1488
|
};
|
1498
1489
|
|
1499
1490
|
namespace container {
|
1500
1491
|
|
1501
|
-
|
1492
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1502
1493
|
|
1503
1494
|
}}
|
1504
1495
|
|
1505
1496
|
#include <boost/container/detail/config_end.hpp>
|
1506
1497
|
|
1507
|
-
#endif
|
1498
|
+
#endif // BOOST_CONTAINER_MAP_HPP
|
1508
1499
|
|