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,51 +1,57 @@
|
|
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_FLAT_MAP_HPP
|
12
11
|
#define BOOST_CONTAINER_FLAT_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
|
+
// container
|
24
|
+
#include <boost/container/allocator_traits.hpp>
|
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
|
25
29
|
#include <boost/container/detail/flat_tree.hpp>
|
26
|
-
#include <boost/type_traits
|
30
|
+
#include <boost/container/detail/type_traits.hpp>
|
27
31
|
#include <boost/container/detail/mpl.hpp>
|
28
|
-
#include <boost/container/
|
29
|
-
|
30
|
-
#include <boost/move/
|
32
|
+
#include <boost/container/detail/algorithm.hpp> //equal()
|
33
|
+
// move
|
34
|
+
#include <boost/move/utility_core.hpp>
|
35
|
+
#include <boost/move/traits.hpp>
|
36
|
+
// move/detail
|
37
|
+
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
38
|
+
#include <boost/move/detail/fwd_macros.hpp>
|
39
|
+
#endif
|
31
40
|
#include <boost/move/detail/move_helpers.hpp>
|
32
|
-
|
41
|
+
// intrusive
|
42
|
+
#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
|
43
|
+
#include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
|
44
|
+
//others
|
45
|
+
#include <boost/core/no_exceptions_support.hpp>
|
46
|
+
|
47
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
48
|
+
#include <initializer_list>
|
49
|
+
#endif
|
33
50
|
|
34
51
|
namespace boost {
|
35
52
|
namespace container {
|
36
53
|
|
37
|
-
|
38
|
-
// Forward declarations of operators == and <, needed for friend declarations.
|
39
|
-
template <class Key, class T, class Compare, class Allocator>
|
40
|
-
class flat_map;
|
41
|
-
|
42
|
-
template <class Key, class T, class Compare, class Allocator>
|
43
|
-
inline bool operator==(const flat_map<Key,T,Compare,Allocator>& x,
|
44
|
-
const flat_map<Key,T,Compare,Allocator>& y);
|
45
|
-
|
46
|
-
template <class Key, class T, class Compare, class Allocator>
|
47
|
-
inline bool operator<(const flat_map<Key,T,Compare,Allocator>& x,
|
48
|
-
const flat_map<Key,T,Compare,Allocator>& y);
|
54
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
49
55
|
|
50
56
|
namespace container_detail{
|
51
57
|
|
@@ -62,8 +68,7 @@ static D force_copy(S s)
|
|
62
68
|
|
63
69
|
} //namespace container_detail{
|
64
70
|
|
65
|
-
|
66
|
-
/// @endcond
|
71
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
67
72
|
|
68
73
|
//! A flat_map is a kind of associative container that supports unique keys (contains at
|
69
74
|
//! most one of each key value) and provides for fast retrieval of values of another
|
@@ -84,16 +89,24 @@ static D force_copy(S s)
|
|
84
89
|
//! This means that inserting a new element into a flat_map invalidates
|
85
90
|
//! previous iterators and references
|
86
91
|
//!
|
87
|
-
//! Erasing an element
|
92
|
+
//! Erasing an element invalidates iterators and references
|
88
93
|
//! pointing to elements that come after (their keys are bigger) the erased element.
|
94
|
+
//!
|
95
|
+
//! This container provides random-access iterators.
|
96
|
+
//!
|
97
|
+
//! \tparam Key is the key_type of the map
|
98
|
+
//! \tparam Value is the <code>mapped_type</code>
|
99
|
+
//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
|
100
|
+
//! \tparam Allocator is the allocator to allocate the <code>value_type</code>s
|
101
|
+
//! (e.g. <i>allocator< std::pair<Key, T> > </i>).
|
89
102
|
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
90
|
-
template <class Key, class T, class Compare = std::less<Key>, class Allocator =
|
103
|
+
template <class Key, class T, class Compare = std::less<Key>, class Allocator = new_allocator< std::pair< Key, T> > >
|
91
104
|
#else
|
92
105
|
template <class Key, class T, class Compare, class Allocator>
|
93
106
|
#endif
|
94
107
|
class flat_map
|
95
108
|
{
|
96
|
-
|
109
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
97
110
|
private:
|
98
111
|
BOOST_COPYABLE_AND_MOVABLE(flat_map)
|
99
112
|
//This is the tree that we should store if pair was movable
|
@@ -114,6 +127,7 @@ class flat_map
|
|
114
127
|
|
115
128
|
typedef typename impl_tree_t::value_type impl_value_type;
|
116
129
|
typedef typename impl_tree_t::const_iterator impl_const_iterator;
|
130
|
+
typedef typename impl_tree_t::iterator impl_iterator;
|
117
131
|
typedef typename impl_tree_t::allocator_type impl_allocator_type;
|
118
132
|
typedef container_detail::flat_tree_value_compare
|
119
133
|
< Compare
|
@@ -127,7 +141,10 @@ class flat_map
|
|
127
141
|
<typename allocator_traits<Allocator>::pointer>::reverse_iterator reverse_iterator_impl;
|
128
142
|
typedef typename container_detail::get_flat_tree_iterators
|
129
143
|
<typename allocator_traits<Allocator>::pointer>::const_reverse_iterator const_reverse_iterator_impl;
|
130
|
-
|
144
|
+
public:
|
145
|
+
typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
|
146
|
+
private:
|
147
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
131
148
|
|
132
149
|
public:
|
133
150
|
|
@@ -139,6 +156,7 @@ class flat_map
|
|
139
156
|
typedef Key key_type;
|
140
157
|
typedef T mapped_type;
|
141
158
|
typedef std::pair<Key, T> value_type;
|
159
|
+
typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
|
142
160
|
typedef typename boost::container::allocator_traits<Allocator>::pointer pointer;
|
143
161
|
typedef typename boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
144
162
|
typedef typename boost::container::allocator_traits<Allocator>::reference reference;
|
@@ -166,14 +184,32 @@ class flat_map
|
|
166
184
|
//!
|
167
185
|
//! <b>Complexity</b>: Constant.
|
168
186
|
flat_map()
|
169
|
-
: m_flat_tree()
|
187
|
+
: m_flat_tree()
|
188
|
+
{
|
189
|
+
//A type must be std::pair<Key, T>
|
190
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
191
|
+
}
|
170
192
|
|
171
193
|
//! <b>Effects</b>: Constructs an empty flat_map using the specified
|
172
194
|
//! comparison object and allocator.
|
173
195
|
//!
|
174
196
|
//! <b>Complexity</b>: Constant.
|
175
197
|
explicit flat_map(const Compare& comp, const allocator_type& a = allocator_type())
|
176
|
-
: m_flat_tree(comp, container_detail::force<impl_allocator_type>(a))
|
198
|
+
: m_flat_tree(comp, container_detail::force<impl_allocator_type>(a))
|
199
|
+
{
|
200
|
+
//A type must be std::pair<Key, T>
|
201
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
202
|
+
}
|
203
|
+
|
204
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified allocator.
|
205
|
+
//!
|
206
|
+
//! <b>Complexity</b>: Constant.
|
207
|
+
explicit flat_map(const allocator_type& a)
|
208
|
+
: m_flat_tree(container_detail::force<impl_allocator_type>(a))
|
209
|
+
{
|
210
|
+
//A type must be std::pair<Key, T>
|
211
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
212
|
+
}
|
177
213
|
|
178
214
|
//! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
|
179
215
|
//! allocator, and inserts elements from the range [first ,last ).
|
@@ -184,7 +220,23 @@ class flat_map
|
|
184
220
|
flat_map(InputIterator first, InputIterator last, const Compare& comp = Compare(),
|
185
221
|
const allocator_type& a = allocator_type())
|
186
222
|
: m_flat_tree(true, first, last, comp, container_detail::force<impl_allocator_type>(a))
|
187
|
-
{
|
223
|
+
{
|
224
|
+
//A type must be std::pair<Key, T>
|
225
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
226
|
+
}
|
227
|
+
|
228
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified
|
229
|
+
//! allocator, and inserts elements from the range [first ,last ).
|
230
|
+
//!
|
231
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
232
|
+
//! comp and otherwise N logN, where N is last - first.
|
233
|
+
template <class InputIterator>
|
234
|
+
flat_map(InputIterator first, InputIterator last, const allocator_type& a)
|
235
|
+
: m_flat_tree(true, first, last, Compare(), container_detail::force<impl_allocator_type>(a))
|
236
|
+
{
|
237
|
+
//A type must be std::pair<Key, T>
|
238
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
239
|
+
}
|
188
240
|
|
189
241
|
//! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
|
190
242
|
//! allocator, and inserts elements from the ordered unique range [first ,last). This function
|
@@ -200,13 +252,65 @@ class flat_map
|
|
200
252
|
flat_map( ordered_unique_range_t, InputIterator first, InputIterator last
|
201
253
|
, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
|
202
254
|
: m_flat_tree(ordered_range, first, last, comp, a)
|
203
|
-
{
|
255
|
+
{
|
256
|
+
//A type must be std::pair<Key, T>
|
257
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
258
|
+
}
|
259
|
+
|
260
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
261
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
|
262
|
+
//! allocator, and inserts elements from the range [il.begin() ,il.end()).
|
263
|
+
//!
|
264
|
+
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
265
|
+
//! comp and otherwise N logN, where N is last - first.
|
266
|
+
flat_map(std::initializer_list<value_type> il, const Compare& comp = Compare(),
|
267
|
+
const allocator_type& a = allocator_type())
|
268
|
+
: m_flat_tree(true, il.begin(), il.end(), comp, container_detail::force<impl_allocator_type>(a))
|
269
|
+
{
|
270
|
+
//A type must be std::pair<Key, T>
|
271
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
272
|
+
}
|
273
|
+
|
274
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified
|
275
|
+
//! allocator, and inserts elements from the range [il.begin() ,il.end()).
|
276
|
+
//!
|
277
|
+
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
278
|
+
//! comp and otherwise N logN, where N is last - first.
|
279
|
+
flat_map(std::initializer_list<value_type> il, const allocator_type& a)
|
280
|
+
: m_flat_tree(true, il.begin(), il.end(), Compare(), container_detail::force<impl_allocator_type>(a))
|
281
|
+
{
|
282
|
+
//A type must be std::pair<Key, T>
|
283
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
284
|
+
}
|
285
|
+
|
286
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
|
287
|
+
//! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function
|
288
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
289
|
+
//!
|
290
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
|
291
|
+
//! unique values.
|
292
|
+
//!
|
293
|
+
//! <b>Complexity</b>: Linear in N.
|
294
|
+
//!
|
295
|
+
//! <b>Note</b>: Non-standard extension.
|
296
|
+
flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp = Compare(),
|
297
|
+
const allocator_type& a = allocator_type())
|
298
|
+
: m_flat_tree(ordered_range, il.begin(), il.end(), comp, a)
|
299
|
+
{
|
300
|
+
//A type must be std::pair<Key, T>
|
301
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
302
|
+
}
|
303
|
+
#endif
|
204
304
|
|
205
305
|
//! <b>Effects</b>: Copy constructs a flat_map.
|
206
306
|
//!
|
207
307
|
//! <b>Complexity</b>: Linear in x.size().
|
208
308
|
flat_map(const flat_map& x)
|
209
|
-
: m_flat_tree(x.m_flat_tree)
|
309
|
+
: m_flat_tree(x.m_flat_tree)
|
310
|
+
{
|
311
|
+
//A type must be std::pair<Key, T>
|
312
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
313
|
+
}
|
210
314
|
|
211
315
|
//! <b>Effects</b>: Move constructs a flat_map.
|
212
316
|
//! Constructs *this using x's resources.
|
@@ -216,14 +320,20 @@ class flat_map
|
|
216
320
|
//! <b>Postcondition</b>: x is emptied.
|
217
321
|
flat_map(BOOST_RV_REF(flat_map) x)
|
218
322
|
: m_flat_tree(boost::move(x.m_flat_tree))
|
219
|
-
{
|
323
|
+
{
|
324
|
+
//A type must be std::pair<Key, T>
|
325
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
326
|
+
}
|
220
327
|
|
221
328
|
//! <b>Effects</b>: Copy constructs a flat_map using the specified allocator.
|
222
329
|
//!
|
223
330
|
//! <b>Complexity</b>: Linear in x.size().
|
224
331
|
flat_map(const flat_map& x, const allocator_type &a)
|
225
332
|
: m_flat_tree(x.m_flat_tree, a)
|
226
|
-
{
|
333
|
+
{
|
334
|
+
//A type must be std::pair<Key, T>
|
335
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
336
|
+
}
|
227
337
|
|
228
338
|
//! <b>Effects</b>: Move constructs a flat_map using the specified allocator.
|
229
339
|
//! Constructs *this using x's resources.
|
@@ -231,7 +341,10 @@ class flat_map
|
|
231
341
|
//! <b>Complexity</b>: Constant if x.get_allocator() == a, linear otherwise.
|
232
342
|
flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
|
233
343
|
: m_flat_tree(boost::move(x.m_flat_tree), a)
|
234
|
-
{
|
344
|
+
{
|
345
|
+
//A type must be std::pair<Key, T>
|
346
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
347
|
+
}
|
235
348
|
|
236
349
|
//! <b>Effects</b>: Makes *this a copy of x.
|
237
350
|
//!
|
@@ -242,17 +355,32 @@ class flat_map
|
|
242
355
|
//! <b>Effects</b>: Move constructs a flat_map.
|
243
356
|
//! Constructs *this using x's resources.
|
244
357
|
//!
|
245
|
-
//! <b>
|
358
|
+
//! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
|
359
|
+
//! is false and (allocation throws or value_type's move constructor throws)
|
246
360
|
//!
|
247
|
-
//! <b>
|
248
|
-
|
249
|
-
|
361
|
+
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
362
|
+
//! propagate_on_container_move_assignment is true or
|
363
|
+
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
364
|
+
flat_map& operator=(BOOST_RV_REF(flat_map) x)
|
365
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
366
|
+
&& boost::container::container_detail::is_nothrow_move_assignable<Compare>::value )
|
367
|
+
{ m_flat_tree = boost::move(x.m_flat_tree); return *this; }
|
250
368
|
|
251
|
-
|
369
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
370
|
+
//! <b>Effects</b>: Assign elements from il to *this
|
371
|
+
flat_map& operator=(std::initializer_list<value_type> il)
|
372
|
+
{
|
373
|
+
this->clear();
|
374
|
+
this->insert(il.begin(), il.end());
|
375
|
+
return *this;
|
376
|
+
}
|
377
|
+
#endif
|
378
|
+
|
379
|
+
//! <b>Effects</b>: Returns a copy of the allocator that
|
252
380
|
//! was passed to the object's constructor.
|
253
381
|
//!
|
254
382
|
//! <b>Complexity</b>: Constant.
|
255
|
-
allocator_type get_allocator() const
|
383
|
+
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
256
384
|
{ return container_detail::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
257
385
|
|
258
386
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
@@ -262,7 +390,7 @@ class flat_map
|
|
262
390
|
//! <b>Complexity</b>: Constant.
|
263
391
|
//!
|
264
392
|
//! <b>Note</b>: Non-standard extension.
|
265
|
-
stored_allocator_type &get_stored_allocator()
|
393
|
+
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
266
394
|
{ return container_detail::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
267
395
|
|
268
396
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
@@ -272,7 +400,7 @@ class flat_map
|
|
272
400
|
//! <b>Complexity</b>: Constant.
|
273
401
|
//!
|
274
402
|
//! <b>Note</b>: Non-standard extension.
|
275
|
-
const stored_allocator_type &get_stored_allocator() const
|
403
|
+
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
276
404
|
{ return container_detail::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
277
405
|
|
278
406
|
//////////////////////////////////////////////
|
@@ -286,7 +414,7 @@ class flat_map
|
|
286
414
|
//! <b>Throws</b>: Nothing.
|
287
415
|
//!
|
288
416
|
//! <b>Complexity</b>: Constant.
|
289
|
-
iterator begin()
|
417
|
+
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
290
418
|
{ return container_detail::force_copy<iterator>(m_flat_tree.begin()); }
|
291
419
|
|
292
420
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
|
@@ -294,7 +422,7 @@ class flat_map
|
|
294
422
|
//! <b>Throws</b>: Nothing.
|
295
423
|
//!
|
296
424
|
//! <b>Complexity</b>: Constant.
|
297
|
-
const_iterator begin() const
|
425
|
+
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
298
426
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.begin()); }
|
299
427
|
|
300
428
|
//! <b>Effects</b>: Returns an iterator to the end of the container.
|
@@ -302,7 +430,7 @@ class flat_map
|
|
302
430
|
//! <b>Throws</b>: Nothing.
|
303
431
|
//!
|
304
432
|
//! <b>Complexity</b>: Constant.
|
305
|
-
iterator end()
|
433
|
+
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
306
434
|
{ return container_detail::force_copy<iterator>(m_flat_tree.end()); }
|
307
435
|
|
308
436
|
//! <b>Effects</b>: Returns a const_iterator to the end of the container.
|
@@ -310,7 +438,7 @@ class flat_map
|
|
310
438
|
//! <b>Throws</b>: Nothing.
|
311
439
|
//!
|
312
440
|
//! <b>Complexity</b>: Constant.
|
313
|
-
const_iterator end() const
|
441
|
+
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
314
442
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.end()); }
|
315
443
|
|
316
444
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
@@ -319,7 +447,7 @@ class flat_map
|
|
319
447
|
//! <b>Throws</b>: Nothing.
|
320
448
|
//!
|
321
449
|
//! <b>Complexity</b>: Constant.
|
322
|
-
reverse_iterator rbegin()
|
450
|
+
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
323
451
|
{ return container_detail::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
324
452
|
|
325
453
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
@@ -328,7 +456,7 @@ class flat_map
|
|
328
456
|
//! <b>Throws</b>: Nothing.
|
329
457
|
//!
|
330
458
|
//! <b>Complexity</b>: Constant.
|
331
|
-
const_reverse_iterator rbegin() const
|
459
|
+
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
332
460
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
333
461
|
|
334
462
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
@@ -337,7 +465,7 @@ class flat_map
|
|
337
465
|
//! <b>Throws</b>: Nothing.
|
338
466
|
//!
|
339
467
|
//! <b>Complexity</b>: Constant.
|
340
|
-
reverse_iterator rend()
|
468
|
+
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
341
469
|
{ return container_detail::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
342
470
|
|
343
471
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
@@ -346,7 +474,7 @@ class flat_map
|
|
346
474
|
//! <b>Throws</b>: Nothing.
|
347
475
|
//!
|
348
476
|
//! <b>Complexity</b>: Constant.
|
349
|
-
const_reverse_iterator rend() const
|
477
|
+
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
350
478
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
351
479
|
|
352
480
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
|
@@ -354,7 +482,7 @@ class flat_map
|
|
354
482
|
//! <b>Throws</b>: Nothing.
|
355
483
|
//!
|
356
484
|
//! <b>Complexity</b>: Constant.
|
357
|
-
const_iterator cbegin() const
|
485
|
+
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
358
486
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
359
487
|
|
360
488
|
//! <b>Effects</b>: Returns a const_iterator to the end of the container.
|
@@ -362,7 +490,7 @@ class flat_map
|
|
362
490
|
//! <b>Throws</b>: Nothing.
|
363
491
|
//!
|
364
492
|
//! <b>Complexity</b>: Constant.
|
365
|
-
const_iterator cend() const
|
493
|
+
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
366
494
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.cend()); }
|
367
495
|
|
368
496
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
@@ -371,7 +499,7 @@ class flat_map
|
|
371
499
|
//! <b>Throws</b>: Nothing.
|
372
500
|
//!
|
373
501
|
//! <b>Complexity</b>: Constant.
|
374
|
-
const_reverse_iterator crbegin() const
|
502
|
+
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
375
503
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
376
504
|
|
377
505
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
@@ -380,7 +508,7 @@ class flat_map
|
|
380
508
|
//! <b>Throws</b>: Nothing.
|
381
509
|
//!
|
382
510
|
//! <b>Complexity</b>: Constant.
|
383
|
-
const_reverse_iterator crend() const
|
511
|
+
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
384
512
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
385
513
|
|
386
514
|
//////////////////////////////////////////////
|
@@ -394,7 +522,7 @@ class flat_map
|
|
394
522
|
//! <b>Throws</b>: Nothing.
|
395
523
|
//!
|
396
524
|
//! <b>Complexity</b>: Constant.
|
397
|
-
bool empty() const
|
525
|
+
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
398
526
|
{ return m_flat_tree.empty(); }
|
399
527
|
|
400
528
|
//! <b>Effects</b>: Returns the number of the elements contained in the container.
|
@@ -402,7 +530,7 @@ class flat_map
|
|
402
530
|
//! <b>Throws</b>: Nothing.
|
403
531
|
//!
|
404
532
|
//! <b>Complexity</b>: Constant.
|
405
|
-
size_type size() const
|
533
|
+
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
406
534
|
{ return m_flat_tree.size(); }
|
407
535
|
|
408
536
|
//! <b>Effects</b>: Returns the largest possible size of the container.
|
@@ -410,7 +538,7 @@ class flat_map
|
|
410
538
|
//! <b>Throws</b>: Nothing.
|
411
539
|
//!
|
412
540
|
//! <b>Complexity</b>: Constant.
|
413
|
-
size_type max_size() const
|
541
|
+
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
414
542
|
{ return m_flat_tree.max_size(); }
|
415
543
|
|
416
544
|
//! <b>Effects</b>: Number of elements for which memory has been allocated.
|
@@ -419,7 +547,7 @@ class flat_map
|
|
419
547
|
//! <b>Throws</b>: Nothing.
|
420
548
|
//!
|
421
549
|
//! <b>Complexity</b>: Constant.
|
422
|
-
size_type capacity() const
|
550
|
+
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
423
551
|
{ return m_flat_tree.capacity(); }
|
424
552
|
|
425
553
|
//! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
|
@@ -431,7 +559,7 @@ class flat_map
|
|
431
559
|
//!
|
432
560
|
//! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
|
433
561
|
//! to values might be invalidated.
|
434
|
-
void reserve(size_type cnt)
|
562
|
+
void reserve(size_type cnt)
|
435
563
|
{ m_flat_tree.reserve(cnt); }
|
436
564
|
|
437
565
|
//! <b>Effects</b>: Tries to deallocate the excess of memory created
|
@@ -453,7 +581,7 @@ class flat_map
|
|
453
581
|
//! Effects: If there is no key equivalent to x in the flat_map, inserts
|
454
582
|
//! value_type(x, T()) into the flat_map.
|
455
583
|
//!
|
456
|
-
//! Returns:
|
584
|
+
//! Returns: A reference to the mapped_type corresponding to x in *this.
|
457
585
|
//!
|
458
586
|
//! Complexity: Logarithmic.
|
459
587
|
mapped_type &operator[](const key_type& k);
|
@@ -461,16 +589,35 @@ class flat_map
|
|
461
589
|
//! Effects: If there is no key equivalent to x in the flat_map, inserts
|
462
590
|
//! value_type(move(x), T()) into the flat_map (the key is move-constructed)
|
463
591
|
//!
|
464
|
-
//! Returns:
|
592
|
+
//! Returns: A reference to the mapped_type corresponding to x in *this.
|
465
593
|
//!
|
466
594
|
//! Complexity: Logarithmic.
|
467
595
|
mapped_type &operator[](key_type &&k) ;
|
468
|
-
|
596
|
+
#elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
|
597
|
+
//in compilers like GCC 3.4, we can't catch temporaries
|
598
|
+
mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
|
599
|
+
mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
|
469
600
|
#else
|
470
|
-
|
601
|
+
BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
|
471
602
|
#endif
|
472
603
|
|
473
|
-
//!
|
604
|
+
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
605
|
+
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
606
|
+
{ return container_detail::force_copy<iterator>(m_flat_tree.nth(n)); }
|
607
|
+
|
608
|
+
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
609
|
+
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
610
|
+
{ return container_detail::force_copy<iterator>(m_flat_tree.nth(n)); }
|
611
|
+
|
612
|
+
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
613
|
+
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
614
|
+
{ return m_flat_tree.index_of(container_detail::force_copy<impl_iterator>(p)); }
|
615
|
+
|
616
|
+
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
617
|
+
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
618
|
+
{ return m_flat_tree.index_of(container_detail::force_copy<impl_const_iterator>(p)); }
|
619
|
+
|
620
|
+
//! Returns: A reference to the element whose key is equivalent to x.
|
474
621
|
//!
|
475
622
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
476
623
|
//!
|
@@ -484,7 +631,7 @@ class flat_map
|
|
484
631
|
return i->second;
|
485
632
|
}
|
486
633
|
|
487
|
-
//! Returns:
|
634
|
+
//! Returns: A reference to the element whose key is equivalent to x.
|
488
635
|
//!
|
489
636
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
490
637
|
//!
|
@@ -504,7 +651,7 @@ class flat_map
|
|
504
651
|
//
|
505
652
|
//////////////////////////////////////////////
|
506
653
|
|
507
|
-
#if defined(
|
654
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
508
655
|
|
509
656
|
//! <b>Effects</b>: Inserts an object x of type T constructed with
|
510
657
|
//! std::forward<Args>(args)... if and only if there is no element in the container
|
@@ -519,7 +666,7 @@ class flat_map
|
|
519
666
|
//!
|
520
667
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
521
668
|
template <class... Args>
|
522
|
-
std::pair<iterator,bool> emplace(Args
|
669
|
+
std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
|
523
670
|
{ return container_detail::force_copy< std::pair<iterator, bool> >(m_flat_tree.emplace_unique(boost::forward<Args>(args)...)); }
|
524
671
|
|
525
672
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
@@ -535,32 +682,34 @@ class flat_map
|
|
535
682
|
//!
|
536
683
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
537
684
|
template <class... Args>
|
538
|
-
iterator emplace_hint(const_iterator hint, Args
|
685
|
+
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
|
539
686
|
{
|
540
687
|
return container_detail::force_copy<iterator>
|
541
688
|
(m_flat_tree.emplace_hint_unique( container_detail::force_copy<impl_const_iterator>(hint)
|
542
689
|
, boost::forward<Args>(args)...));
|
543
690
|
}
|
544
691
|
|
545
|
-
#else
|
546
|
-
|
547
|
-
#define
|
548
|
-
|
549
|
-
std::pair<iterator,bool> emplace(
|
550
|
-
{
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
692
|
+
#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
693
|
+
|
694
|
+
#define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \
|
695
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
696
|
+
std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
|
697
|
+
{\
|
698
|
+
return container_detail::force_copy< std::pair<iterator, bool> >\
|
699
|
+
(m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\
|
700
|
+
}\
|
701
|
+
\
|
702
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
703
|
+
iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
704
|
+
{\
|
705
|
+
return container_detail::force_copy<iterator>(m_flat_tree.emplace_hint_unique\
|
706
|
+
(container_detail::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
707
|
+
}\
|
708
|
+
//
|
709
|
+
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE)
|
710
|
+
#undef BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE
|
562
711
|
|
563
|
-
#endif
|
712
|
+
#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
564
713
|
|
565
714
|
//! <b>Effects</b>: Inserts x if and only if there is no element in the container
|
566
715
|
//! with key equivalent to the key of x.
|
@@ -574,7 +723,7 @@ class flat_map
|
|
574
723
|
//!
|
575
724
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
576
725
|
std::pair<iterator,bool> insert(const value_type& x)
|
577
|
-
|
726
|
+
{ return container_detail::force_copy<std::pair<iterator,bool> >(
|
578
727
|
m_flat_tree.insert_unique(container_detail::force<impl_value_type>(x))); }
|
579
728
|
|
580
729
|
//! <b>Effects</b>: Inserts a new value_type move constructed from the pair if and
|
@@ -620,10 +769,10 @@ class flat_map
|
|
620
769
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
621
770
|
//!
|
622
771
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
623
|
-
iterator insert(const_iterator
|
772
|
+
iterator insert(const_iterator p, const value_type& x)
|
624
773
|
{
|
625
774
|
return container_detail::force_copy<iterator>(
|
626
|
-
m_flat_tree.insert_unique( container_detail::force_copy<impl_const_iterator>(
|
775
|
+
m_flat_tree.insert_unique( container_detail::force_copy<impl_const_iterator>(p)
|
627
776
|
, container_detail::force<impl_value_type>(x)));
|
628
777
|
}
|
629
778
|
|
@@ -636,10 +785,10 @@ class flat_map
|
|
636
785
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
637
786
|
//!
|
638
787
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
639
|
-
iterator insert(const_iterator
|
788
|
+
iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
640
789
|
{
|
641
790
|
return container_detail::force_copy<iterator>
|
642
|
-
(m_flat_tree.insert_unique( container_detail::force_copy<impl_const_iterator>(
|
791
|
+
(m_flat_tree.insert_unique( container_detail::force_copy<impl_const_iterator>(p)
|
643
792
|
, boost::move(container_detail::force<impl_value_type>(x))));
|
644
793
|
}
|
645
794
|
|
@@ -652,10 +801,10 @@ class flat_map
|
|
652
801
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
653
802
|
//!
|
654
803
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
655
|
-
iterator insert(const_iterator
|
804
|
+
iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
|
656
805
|
{
|
657
806
|
return container_detail::force_copy<iterator>(
|
658
|
-
m_flat_tree.insert_unique(container_detail::force_copy<impl_const_iterator>(
|
807
|
+
m_flat_tree.insert_unique(container_detail::force_copy<impl_const_iterator>(p), boost::move(x)));
|
659
808
|
}
|
660
809
|
|
661
810
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
@@ -684,24 +833,54 @@ class flat_map
|
|
684
833
|
//! search time plus N*size() insertion time.
|
685
834
|
//!
|
686
835
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
836
|
+
//!
|
837
|
+
//! <b>Note</b>: Non-standard extension.
|
687
838
|
template <class InputIterator>
|
688
839
|
void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
|
689
840
|
{ m_flat_tree.insert_unique(ordered_unique_range, first, last); }
|
690
841
|
|
691
|
-
|
842
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
843
|
+
//! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
|
844
|
+
//! if there is no element with key equivalent to the key of that element.
|
845
|
+
//!
|
846
|
+
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from il.first() to il.end())
|
847
|
+
//! search time plus N*size() insertion time.
|
848
|
+
//!
|
849
|
+
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
850
|
+
void insert(std::initializer_list<value_type> il)
|
851
|
+
{ m_flat_tree.insert_unique(il.begin(), il.end()); }
|
852
|
+
|
853
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
|
854
|
+
//! unique values.
|
855
|
+
//!
|
856
|
+
//! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
|
857
|
+
//! if there is no element with key equivalent to the key of that element. This
|
858
|
+
//! function is more efficient than the normal range creation for ordered ranges.
|
859
|
+
//!
|
860
|
+
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
|
861
|
+
//! search time plus N*size() insertion time.
|
862
|
+
//!
|
863
|
+
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
864
|
+
//!
|
865
|
+
//! <b>Note</b>: Non-standard extension.
|
866
|
+
void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
|
867
|
+
{ m_flat_tree.insert_unique(ordered_unique_range, il.begin(), il.end()); }
|
868
|
+
#endif
|
869
|
+
|
870
|
+
//! <b>Effects</b>: Erases the element pointed to by p.
|
692
871
|
//!
|
693
872
|
//! <b>Returns</b>: Returns an iterator pointing to the element immediately
|
694
873
|
//! following q prior to the element being erased. If no such element exists,
|
695
874
|
//! returns end().
|
696
875
|
//!
|
697
|
-
//! <b>Complexity</b>: Linear to the elements with keys bigger than
|
876
|
+
//! <b>Complexity</b>: Linear to the elements with keys bigger than p
|
698
877
|
//!
|
699
878
|
//! <b>Note</b>: Invalidates elements with keys
|
700
879
|
//! not less than the erased element.
|
701
|
-
iterator erase(const_iterator
|
880
|
+
iterator erase(const_iterator p)
|
702
881
|
{
|
703
882
|
return container_detail::force_copy<iterator>
|
704
|
-
(m_flat_tree.erase(container_detail::force_copy<impl_const_iterator>(
|
883
|
+
(m_flat_tree.erase(container_detail::force_copy<impl_const_iterator>(p)));
|
705
884
|
}
|
706
885
|
|
707
886
|
//! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
|
@@ -734,6 +913,8 @@ class flat_map
|
|
734
913
|
//!
|
735
914
|
//! <b>Complexity</b>: Constant.
|
736
915
|
void swap(flat_map& x)
|
916
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
917
|
+
&& boost::container::container_detail::is_nothrow_swappable<Compare>::value )
|
737
918
|
{ m_flat_tree.swap(x.m_flat_tree); }
|
738
919
|
|
739
920
|
//! <b>Effects</b>: erase(a.begin(),a.end()).
|
@@ -741,7 +922,7 @@ class flat_map
|
|
741
922
|
//! <b>Postcondition</b>: size() == 0.
|
742
923
|
//!
|
743
924
|
//! <b>Complexity</b>: linear in size().
|
744
|
-
void clear()
|
925
|
+
void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
745
926
|
{ m_flat_tree.clear(); }
|
746
927
|
|
747
928
|
//////////////////////////////////////////////
|
@@ -777,10 +958,10 @@ class flat_map
|
|
777
958
|
iterator find(const key_type& x)
|
778
959
|
{ return container_detail::force_copy<iterator>(m_flat_tree.find(x)); }
|
779
960
|
|
780
|
-
//! <b>Returns</b>:
|
961
|
+
//! <b>Returns</b>: A const_iterator pointing to an element with the key
|
781
962
|
//! equivalent to x, or end() if such an element is not found.
|
782
963
|
//!
|
783
|
-
//! <b>Complexity</b>: Logarithmic.
|
964
|
+
//! <b>Complexity</b>: Logarithmic.
|
784
965
|
const_iterator find(const key_type& x) const
|
785
966
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
786
967
|
|
@@ -788,56 +969,91 @@ class flat_map
|
|
788
969
|
//!
|
789
970
|
//! <b>Complexity</b>: log(size())+count(k)
|
790
971
|
size_type count(const key_type& x) const
|
791
|
-
{ return m_flat_tree.find(x)
|
972
|
+
{ return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
|
792
973
|
|
793
974
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
794
975
|
//! than k, or a.end() if such an element is not found.
|
795
976
|
//!
|
796
|
-
//! <b>Complexity</b>: Logarithmic
|
977
|
+
//! <b>Complexity</b>: Logarithmic.
|
797
978
|
iterator lower_bound(const key_type& x)
|
798
979
|
{ return container_detail::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
799
980
|
|
800
|
-
//! <b>Returns</b>:
|
981
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
801
982
|
//! less than k, or a.end() if such an element is not found.
|
802
983
|
//!
|
803
|
-
//! <b>Complexity</b>: Logarithmic
|
984
|
+
//! <b>Complexity</b>: Logarithmic.
|
804
985
|
const_iterator lower_bound(const key_type& x) const
|
805
986
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
806
987
|
|
807
988
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
808
989
|
//! than x, or end() if such an element is not found.
|
809
990
|
//!
|
810
|
-
//! <b>Complexity</b>: Logarithmic
|
991
|
+
//! <b>Complexity</b>: Logarithmic.
|
811
992
|
iterator upper_bound(const key_type& x)
|
812
993
|
{ return container_detail::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
813
994
|
|
814
|
-
//! <b>Returns</b>:
|
995
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
815
996
|
//! less than x, or end() if such an element is not found.
|
816
997
|
//!
|
817
|
-
//! <b>Complexity</b>: Logarithmic
|
998
|
+
//! <b>Complexity</b>: Logarithmic.
|
818
999
|
const_iterator upper_bound(const key_type& x) const
|
819
1000
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
820
1001
|
|
821
1002
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
822
1003
|
//!
|
823
|
-
//! <b>Complexity</b>: Logarithmic
|
1004
|
+
//! <b>Complexity</b>: Logarithmic.
|
824
1005
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
825
|
-
{ return container_detail::force_copy<std::pair<iterator,iterator> >(m_flat_tree.
|
1006
|
+
{ return container_detail::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
|
826
1007
|
|
827
1008
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
828
1009
|
//!
|
829
|
-
//! <b>Complexity</b>: Logarithmic
|
1010
|
+
//! <b>Complexity</b>: Logarithmic.
|
830
1011
|
std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const
|
831
|
-
{ return container_detail::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.
|
1012
|
+
{ return container_detail::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
|
832
1013
|
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
friend bool operator< (const flat_map<K1, T1, C1, A1>&,
|
839
|
-
const flat_map<K1, T1, C1, A1>&);
|
1014
|
+
//! <b>Effects</b>: Returns true if x and y are equal
|
1015
|
+
//!
|
1016
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1017
|
+
friend bool operator==(const flat_map& x, const flat_map& y)
|
1018
|
+
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
840
1019
|
|
1020
|
+
//! <b>Effects</b>: Returns true if x and y are unequal
|
1021
|
+
//!
|
1022
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1023
|
+
friend bool operator!=(const flat_map& x, const flat_map& y)
|
1024
|
+
{ return !(x == y); }
|
1025
|
+
|
1026
|
+
//! <b>Effects</b>: Returns true if x is less than y
|
1027
|
+
//!
|
1028
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1029
|
+
friend bool operator<(const flat_map& x, const flat_map& y)
|
1030
|
+
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
1031
|
+
|
1032
|
+
//! <b>Effects</b>: Returns true if x is greater than y
|
1033
|
+
//!
|
1034
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1035
|
+
friend bool operator>(const flat_map& x, const flat_map& y)
|
1036
|
+
{ return y < x; }
|
1037
|
+
|
1038
|
+
//! <b>Effects</b>: Returns true if x is equal or less than y
|
1039
|
+
//!
|
1040
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1041
|
+
friend bool operator<=(const flat_map& x, const flat_map& y)
|
1042
|
+
{ return !(y < x); }
|
1043
|
+
|
1044
|
+
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
1045
|
+
//!
|
1046
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1047
|
+
friend bool operator>=(const flat_map& x, const flat_map& y)
|
1048
|
+
{ return !(x < y); }
|
1049
|
+
|
1050
|
+
//! <b>Effects</b>: x.swap(y)
|
1051
|
+
//!
|
1052
|
+
//! <b>Complexity</b>: Constant.
|
1053
|
+
friend void swap(flat_map& x, flat_map& y)
|
1054
|
+
{ x.swap(y); }
|
1055
|
+
|
1056
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
841
1057
|
private:
|
842
1058
|
mapped_type &priv_subscript(const key_type& k)
|
843
1059
|
{
|
@@ -860,70 +1076,27 @@ class flat_map
|
|
860
1076
|
}
|
861
1077
|
return (*i).second;
|
862
1078
|
}
|
863
|
-
|
1079
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
864
1080
|
};
|
865
1081
|
|
866
|
-
|
867
|
-
inline bool operator==(const flat_map<Key,T,Compare,Allocator>& x,
|
868
|
-
const flat_map<Key,T,Compare,Allocator>& y)
|
869
|
-
{ return x.m_flat_tree == y.m_flat_tree; }
|
870
|
-
|
871
|
-
template <class Key, class T, class Compare, class Allocator>
|
872
|
-
inline bool operator<(const flat_map<Key,T,Compare,Allocator>& x,
|
873
|
-
const flat_map<Key,T,Compare,Allocator>& y)
|
874
|
-
{ return x.m_flat_tree < y.m_flat_tree; }
|
875
|
-
|
876
|
-
template <class Key, class T, class Compare, class Allocator>
|
877
|
-
inline bool operator!=(const flat_map<Key,T,Compare,Allocator>& x,
|
878
|
-
const flat_map<Key,T,Compare,Allocator>& y)
|
879
|
-
{ return !(x == y); }
|
880
|
-
|
881
|
-
template <class Key, class T, class Compare, class Allocator>
|
882
|
-
inline bool operator>(const flat_map<Key,T,Compare,Allocator>& x,
|
883
|
-
const flat_map<Key,T,Compare,Allocator>& y)
|
884
|
-
{ return y < x; }
|
885
|
-
|
886
|
-
template <class Key, class T, class Compare, class Allocator>
|
887
|
-
inline bool operator<=(const flat_map<Key,T,Compare,Allocator>& x,
|
888
|
-
const flat_map<Key,T,Compare,Allocator>& y)
|
889
|
-
{ return !(y < x); }
|
890
|
-
|
891
|
-
template <class Key, class T, class Compare, class Allocator>
|
892
|
-
inline bool operator>=(const flat_map<Key,T,Compare,Allocator>& x,
|
893
|
-
const flat_map<Key,T,Compare,Allocator>& y)
|
894
|
-
{ return !(x < y); }
|
895
|
-
|
896
|
-
template <class Key, class T, class Compare, class Allocator>
|
897
|
-
inline void swap(flat_map<Key,T,Compare,Allocator>& x,
|
898
|
-
flat_map<Key,T,Compare,Allocator>& y)
|
899
|
-
{ x.swap(y); }
|
900
|
-
|
901
|
-
/// @cond
|
1082
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
902
1083
|
|
903
1084
|
} //namespace container {
|
904
1085
|
|
905
1086
|
//!has_trivial_destructor_after_move<> == true_type
|
906
1087
|
//!specialization for optimizations
|
907
|
-
template <class
|
908
|
-
struct has_trivial_destructor_after_move<boost::container::flat_map<
|
1088
|
+
template <class Key, class T, class Compare, class Allocator>
|
1089
|
+
struct has_trivial_destructor_after_move<boost::container::flat_map<Key, T, Compare, Allocator> >
|
909
1090
|
{
|
910
|
-
|
1091
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
1092
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
|
1093
|
+
::boost::has_trivial_destructor_after_move<pointer>::value &&
|
1094
|
+
::boost::has_trivial_destructor_after_move<Compare>::value;
|
911
1095
|
};
|
912
1096
|
|
913
1097
|
namespace container {
|
914
1098
|
|
915
|
-
|
916
|
-
template <class Key, class T, class Compare, class Allocator>
|
917
|
-
class flat_multimap;
|
918
|
-
|
919
|
-
template <class Key, class T, class Compare, class Allocator>
|
920
|
-
inline bool operator==(const flat_multimap<Key,T,Compare,Allocator>& x,
|
921
|
-
const flat_multimap<Key,T,Compare,Allocator>& y);
|
922
|
-
|
923
|
-
template <class Key, class T, class Compare, class Allocator>
|
924
|
-
inline bool operator<(const flat_multimap<Key,T,Compare,Allocator>& x,
|
925
|
-
const flat_multimap<Key,T,Compare,Allocator>& y);
|
926
|
-
/// @endcond
|
1099
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
927
1100
|
|
928
1101
|
//! A flat_multimap is a kind of associative container that supports equivalent keys
|
929
1102
|
//! (possibly containing multiple copies of the same key value) and provides for
|
@@ -939,14 +1112,29 @@ inline bool operator<(const flat_multimap<Key,T,Compare,Allocator>& x,
|
|
939
1112
|
//!
|
940
1113
|
//! Allocator is the allocator to allocate the value_types
|
941
1114
|
//! (e.g. <i>allocator< std::pair<Key, T> ></i>).
|
1115
|
+
//!
|
1116
|
+
//! flat_multimap is similar to std::multimap but it's implemented like an ordered vector.
|
1117
|
+
//! This means that inserting a new element into a flat_map invalidates
|
1118
|
+
//! previous iterators and references
|
1119
|
+
//!
|
1120
|
+
//! Erasing an element invalidates iterators and references
|
1121
|
+
//! pointing to elements that come after (their keys are bigger) the erased element.
|
1122
|
+
//!
|
1123
|
+
//! This container provides random-access iterators.
|
1124
|
+
//!
|
1125
|
+
//! \tparam Key is the key_type of the map
|
1126
|
+
//! \tparam Value is the <code>mapped_type</code>
|
1127
|
+
//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
|
1128
|
+
//! \tparam Allocator is the allocator to allocate the <code>value_type</code>s
|
1129
|
+
//! (e.g. <i>allocator< std::pair<Key, T> > </i>).
|
942
1130
|
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
943
|
-
template <class Key, class T, class Compare = std::less<Key>, class Allocator =
|
1131
|
+
template <class Key, class T, class Compare = std::less<Key>, class Allocator = new_allocator< std::pair< Key, T> > >
|
944
1132
|
#else
|
945
1133
|
template <class Key, class T, class Compare, class Allocator>
|
946
1134
|
#endif
|
947
1135
|
class flat_multimap
|
948
1136
|
{
|
949
|
-
|
1137
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
950
1138
|
private:
|
951
1139
|
BOOST_COPYABLE_AND_MOVABLE(flat_multimap)
|
952
1140
|
typedef container_detail::flat_tree<Key,
|
@@ -965,6 +1153,7 @@ class flat_multimap
|
|
965
1153
|
|
966
1154
|
typedef typename impl_tree_t::value_type impl_value_type;
|
967
1155
|
typedef typename impl_tree_t::const_iterator impl_const_iterator;
|
1156
|
+
typedef typename impl_tree_t::iterator impl_iterator;
|
968
1157
|
typedef typename impl_tree_t::allocator_type impl_allocator_type;
|
969
1158
|
typedef container_detail::flat_tree_value_compare
|
970
1159
|
< Compare
|
@@ -978,7 +1167,10 @@ class flat_multimap
|
|
978
1167
|
<typename allocator_traits<Allocator>::pointer>::reverse_iterator reverse_iterator_impl;
|
979
1168
|
typedef typename container_detail::get_flat_tree_iterators
|
980
1169
|
<typename allocator_traits<Allocator>::pointer>::const_reverse_iterator const_reverse_iterator_impl;
|
981
|
-
|
1170
|
+
public:
|
1171
|
+
typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
|
1172
|
+
private:
|
1173
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
982
1174
|
|
983
1175
|
public:
|
984
1176
|
|
@@ -990,6 +1182,7 @@ class flat_multimap
|
|
990
1182
|
typedef Key key_type;
|
991
1183
|
typedef T mapped_type;
|
992
1184
|
typedef std::pair<Key, T> value_type;
|
1185
|
+
typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
|
993
1186
|
typedef typename boost::container::allocator_traits<Allocator>::pointer pointer;
|
994
1187
|
typedef typename boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
995
1188
|
typedef typename boost::container::allocator_traits<Allocator>::reference reference;
|
@@ -1016,7 +1209,11 @@ class flat_multimap
|
|
1016
1209
|
//!
|
1017
1210
|
//! <b>Complexity</b>: Constant.
|
1018
1211
|
flat_multimap()
|
1019
|
-
: m_flat_tree()
|
1212
|
+
: m_flat_tree()
|
1213
|
+
{
|
1214
|
+
//A type must be std::pair<Key, T>
|
1215
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1216
|
+
}
|
1020
1217
|
|
1021
1218
|
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison
|
1022
1219
|
//! object and allocator.
|
@@ -1024,7 +1221,21 @@ class flat_multimap
|
|
1024
1221
|
//! <b>Complexity</b>: Constant.
|
1025
1222
|
explicit flat_multimap(const Compare& comp,
|
1026
1223
|
const allocator_type& a = allocator_type())
|
1027
|
-
: m_flat_tree(comp, container_detail::force<impl_allocator_type>(a))
|
1224
|
+
: m_flat_tree(comp, container_detail::force<impl_allocator_type>(a))
|
1225
|
+
{
|
1226
|
+
//A type must be std::pair<Key, T>
|
1227
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1228
|
+
}
|
1229
|
+
|
1230
|
+
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified allocator.
|
1231
|
+
//!
|
1232
|
+
//! <b>Complexity</b>: Constant.
|
1233
|
+
explicit flat_multimap(const allocator_type& a)
|
1234
|
+
: m_flat_tree(container_detail::force<impl_allocator_type>(a))
|
1235
|
+
{
|
1236
|
+
//A type must be std::pair<Key, T>
|
1237
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1238
|
+
}
|
1028
1239
|
|
1029
1240
|
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object
|
1030
1241
|
//! and allocator, and inserts elements from the range [first ,last ).
|
@@ -1036,7 +1247,23 @@ class flat_multimap
|
|
1036
1247
|
const Compare& comp = Compare(),
|
1037
1248
|
const allocator_type& a = allocator_type())
|
1038
1249
|
: m_flat_tree(false, first, last, comp, container_detail::force<impl_allocator_type>(a))
|
1039
|
-
{
|
1250
|
+
{
|
1251
|
+
//A type must be std::pair<Key, T>
|
1252
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1253
|
+
}
|
1254
|
+
|
1255
|
+
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified
|
1256
|
+
//! allocator, and inserts elements from the range [first ,last ).
|
1257
|
+
//!
|
1258
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
1259
|
+
//! comp and otherwise N logN, where N is last - first.
|
1260
|
+
template <class InputIterator>
|
1261
|
+
flat_multimap(InputIterator first, InputIterator last, const allocator_type& a)
|
1262
|
+
: m_flat_tree(false, first, last, Compare(), container_detail::force<impl_allocator_type>(a))
|
1263
|
+
{
|
1264
|
+
//A type must be std::pair<Key, T>
|
1265
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1266
|
+
}
|
1040
1267
|
|
1041
1268
|
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
|
1042
1269
|
//! allocator, and inserts elements from the ordered range [first ,last). This function
|
@@ -1052,13 +1279,63 @@ class flat_multimap
|
|
1052
1279
|
const Compare& comp = Compare(),
|
1053
1280
|
const allocator_type& a = allocator_type())
|
1054
1281
|
: m_flat_tree(ordered_range, first, last, comp, a)
|
1055
|
-
{
|
1282
|
+
{
|
1283
|
+
//A type must be std::pair<Key, T>
|
1284
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1285
|
+
}
|
1286
|
+
|
1287
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1288
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
|
1289
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
1290
|
+
//!
|
1291
|
+
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
1292
|
+
//! comp and otherwise N logN, where N is last - first.
|
1293
|
+
flat_multimap(std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
|
1294
|
+
: m_flat_tree(false, il.begin(), il.end(), comp, container_detail::force<impl_allocator_type>(a))
|
1295
|
+
{
|
1296
|
+
//A type must be std::pair<Key, T>
|
1297
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1298
|
+
}
|
1299
|
+
|
1300
|
+
//! <b>Effects</b>: Constructs an empty flat_map using the specified
|
1301
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
1302
|
+
//!
|
1303
|
+
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
1304
|
+
//! comp and otherwise N logN, where N is last - first.
|
1305
|
+
flat_multimap(std::initializer_list<value_type> il, const allocator_type& a)
|
1306
|
+
: m_flat_tree(false, il.begin(), il.end(), Compare(), container_detail::force<impl_allocator_type>(a))
|
1307
|
+
{
|
1308
|
+
//A type must be std::pair<Key, T>
|
1309
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1310
|
+
}
|
1311
|
+
|
1312
|
+
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
|
1313
|
+
//! allocator, and inserts elements from the ordered range [il.begin(), il.end()). This function
|
1314
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
1315
|
+
//!
|
1316
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
|
1317
|
+
//!
|
1318
|
+
//! <b>Complexity</b>: Linear in N.
|
1319
|
+
//!
|
1320
|
+
//! <b>Note</b>: Non-standard extension.
|
1321
|
+
flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp = Compare(),
|
1322
|
+
const allocator_type& a = allocator_type())
|
1323
|
+
: m_flat_tree(ordered_range, il.begin(), il.end(), comp, a)
|
1324
|
+
{
|
1325
|
+
//A type must be std::pair<Key, T>
|
1326
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1327
|
+
}
|
1328
|
+
#endif
|
1056
1329
|
|
1057
1330
|
//! <b>Effects</b>: Copy constructs a flat_multimap.
|
1058
1331
|
//!
|
1059
1332
|
//! <b>Complexity</b>: Linear in x.size().
|
1060
1333
|
flat_multimap(const flat_multimap& x)
|
1061
|
-
: m_flat_tree(x.m_flat_tree)
|
1334
|
+
: m_flat_tree(x.m_flat_tree)
|
1335
|
+
{
|
1336
|
+
//A type must be std::pair<Key, T>
|
1337
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1338
|
+
}
|
1062
1339
|
|
1063
1340
|
//! <b>Effects</b>: Move constructs a flat_multimap. Constructs *this using x's resources.
|
1064
1341
|
//!
|
@@ -1067,14 +1344,20 @@ class flat_multimap
|
|
1067
1344
|
//! <b>Postcondition</b>: x is emptied.
|
1068
1345
|
flat_multimap(BOOST_RV_REF(flat_multimap) x)
|
1069
1346
|
: m_flat_tree(boost::move(x.m_flat_tree))
|
1070
|
-
{
|
1347
|
+
{
|
1348
|
+
//A type must be std::pair<Key, T>
|
1349
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1350
|
+
}
|
1071
1351
|
|
1072
1352
|
//! <b>Effects</b>: Copy constructs a flat_multimap using the specified allocator.
|
1073
1353
|
//!
|
1074
1354
|
//! <b>Complexity</b>: Linear in x.size().
|
1075
1355
|
flat_multimap(const flat_multimap& x, const allocator_type &a)
|
1076
1356
|
: m_flat_tree(x.m_flat_tree, a)
|
1077
|
-
{
|
1357
|
+
{
|
1358
|
+
//A type must be std::pair<Key, T>
|
1359
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1360
|
+
}
|
1078
1361
|
|
1079
1362
|
//! <b>Effects</b>: Move constructs a flat_multimap using the specified allocator.
|
1080
1363
|
//! Constructs *this using x's resources.
|
@@ -1082,7 +1365,10 @@ class flat_multimap
|
|
1082
1365
|
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
1083
1366
|
flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a)
|
1084
1367
|
: m_flat_tree(boost::move(x.m_flat_tree), a)
|
1085
|
-
{
|
1368
|
+
{
|
1369
|
+
//A type must be std::pair<Key, T>
|
1370
|
+
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<Key, T>, typename Allocator::value_type>::value));
|
1371
|
+
}
|
1086
1372
|
|
1087
1373
|
//! <b>Effects</b>: Makes *this a copy of x.
|
1088
1374
|
//!
|
@@ -1093,14 +1379,28 @@ class flat_multimap
|
|
1093
1379
|
//! <b>Effects</b>: this->swap(x.get()).
|
1094
1380
|
//!
|
1095
1381
|
//! <b>Complexity</b>: Constant.
|
1096
|
-
flat_multimap& operator=(BOOST_RV_REF(flat_multimap)
|
1097
|
-
|
1382
|
+
flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x)
|
1383
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
1384
|
+
&& boost::container::container_detail::is_nothrow_move_assignable<Compare>::value )
|
1385
|
+
{ m_flat_tree = boost::move(x.m_flat_tree); return *this; }
|
1386
|
+
|
1387
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1388
|
+
//! <b>Effects</b>: Assign content of il to *this
|
1389
|
+
//!
|
1390
|
+
//! <b>Complexity</b>: Linear in il.size().
|
1391
|
+
flat_multimap& operator=(std::initializer_list<value_type> il)
|
1392
|
+
{
|
1393
|
+
this->clear();
|
1394
|
+
this->insert(il.begin(), il.end());
|
1395
|
+
return *this;
|
1396
|
+
}
|
1397
|
+
#endif
|
1098
1398
|
|
1099
|
-
//! <b>Effects</b>: Returns a copy of the
|
1399
|
+
//! <b>Effects</b>: Returns a copy of the allocator that
|
1100
1400
|
//! was passed to the object's constructor.
|
1101
1401
|
//!
|
1102
1402
|
//! <b>Complexity</b>: Constant.
|
1103
|
-
allocator_type get_allocator() const
|
1403
|
+
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
1104
1404
|
{ return container_detail::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
1105
1405
|
|
1106
1406
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
@@ -1110,7 +1410,7 @@ class flat_multimap
|
|
1110
1410
|
//! <b>Complexity</b>: Constant.
|
1111
1411
|
//!
|
1112
1412
|
//! <b>Note</b>: Non-standard extension.
|
1113
|
-
stored_allocator_type &get_stored_allocator()
|
1413
|
+
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
1114
1414
|
{ return container_detail::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
1115
1415
|
|
1116
1416
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
@@ -1120,7 +1420,7 @@ class flat_multimap
|
|
1120
1420
|
//! <b>Complexity</b>: Constant.
|
1121
1421
|
//!
|
1122
1422
|
//! <b>Note</b>: Non-standard extension.
|
1123
|
-
const stored_allocator_type &get_stored_allocator() const
|
1423
|
+
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
1124
1424
|
{ return container_detail::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
1125
1425
|
|
1126
1426
|
//////////////////////////////////////////////
|
@@ -1134,7 +1434,7 @@ class flat_multimap
|
|
1134
1434
|
//! <b>Throws</b>: Nothing.
|
1135
1435
|
//!
|
1136
1436
|
//! <b>Complexity</b>: Constant.
|
1137
|
-
iterator begin()
|
1437
|
+
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
1138
1438
|
{ return container_detail::force_copy<iterator>(m_flat_tree.begin()); }
|
1139
1439
|
|
1140
1440
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
|
@@ -1142,7 +1442,7 @@ class flat_multimap
|
|
1142
1442
|
//! <b>Throws</b>: Nothing.
|
1143
1443
|
//!
|
1144
1444
|
//! <b>Complexity</b>: Constant.
|
1145
|
-
const_iterator begin() const
|
1445
|
+
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
1146
1446
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.begin()); }
|
1147
1447
|
|
1148
1448
|
//! <b>Effects</b>: Returns an iterator to the end of the container.
|
@@ -1150,7 +1450,7 @@ class flat_multimap
|
|
1150
1450
|
//! <b>Throws</b>: Nothing.
|
1151
1451
|
//!
|
1152
1452
|
//! <b>Complexity</b>: Constant.
|
1153
|
-
iterator end()
|
1453
|
+
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
1154
1454
|
{ return container_detail::force_copy<iterator>(m_flat_tree.end()); }
|
1155
1455
|
|
1156
1456
|
//! <b>Effects</b>: Returns a const_iterator to the end of the container.
|
@@ -1158,7 +1458,7 @@ class flat_multimap
|
|
1158
1458
|
//! <b>Throws</b>: Nothing.
|
1159
1459
|
//!
|
1160
1460
|
//! <b>Complexity</b>: Constant.
|
1161
|
-
const_iterator end() const
|
1461
|
+
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
1162
1462
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.end()); }
|
1163
1463
|
|
1164
1464
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
@@ -1167,7 +1467,7 @@ class flat_multimap
|
|
1167
1467
|
//! <b>Throws</b>: Nothing.
|
1168
1468
|
//!
|
1169
1469
|
//! <b>Complexity</b>: Constant.
|
1170
|
-
reverse_iterator rbegin()
|
1470
|
+
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
1171
1471
|
{ return container_detail::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
1172
1472
|
|
1173
1473
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
@@ -1176,7 +1476,7 @@ class flat_multimap
|
|
1176
1476
|
//! <b>Throws</b>: Nothing.
|
1177
1477
|
//!
|
1178
1478
|
//! <b>Complexity</b>: Constant.
|
1179
|
-
const_reverse_iterator rbegin() const
|
1479
|
+
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
1180
1480
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
1181
1481
|
|
1182
1482
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
@@ -1185,7 +1485,7 @@ class flat_multimap
|
|
1185
1485
|
//! <b>Throws</b>: Nothing.
|
1186
1486
|
//!
|
1187
1487
|
//! <b>Complexity</b>: Constant.
|
1188
|
-
reverse_iterator rend()
|
1488
|
+
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
1189
1489
|
{ return container_detail::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
1190
1490
|
|
1191
1491
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
@@ -1194,7 +1494,7 @@ class flat_multimap
|
|
1194
1494
|
//! <b>Throws</b>: Nothing.
|
1195
1495
|
//!
|
1196
1496
|
//! <b>Complexity</b>: Constant.
|
1197
|
-
const_reverse_iterator rend() const
|
1497
|
+
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
1198
1498
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
1199
1499
|
|
1200
1500
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
|
@@ -1202,7 +1502,7 @@ class flat_multimap
|
|
1202
1502
|
//! <b>Throws</b>: Nothing.
|
1203
1503
|
//!
|
1204
1504
|
//! <b>Complexity</b>: Constant.
|
1205
|
-
const_iterator cbegin() const
|
1505
|
+
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
1206
1506
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
1207
1507
|
|
1208
1508
|
//! <b>Effects</b>: Returns a const_iterator to the end of the container.
|
@@ -1210,7 +1510,7 @@ class flat_multimap
|
|
1210
1510
|
//! <b>Throws</b>: Nothing.
|
1211
1511
|
//!
|
1212
1512
|
//! <b>Complexity</b>: Constant.
|
1213
|
-
const_iterator cend() const
|
1513
|
+
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
1214
1514
|
{ return container_detail::force_copy<const_iterator>(m_flat_tree.cend()); }
|
1215
1515
|
|
1216
1516
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
@@ -1219,7 +1519,7 @@ class flat_multimap
|
|
1219
1519
|
//! <b>Throws</b>: Nothing.
|
1220
1520
|
//!
|
1221
1521
|
//! <b>Complexity</b>: Constant.
|
1222
|
-
const_reverse_iterator crbegin() const
|
1522
|
+
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
1223
1523
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
1224
1524
|
|
1225
1525
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
@@ -1228,7 +1528,7 @@ class flat_multimap
|
|
1228
1528
|
//! <b>Throws</b>: Nothing.
|
1229
1529
|
//!
|
1230
1530
|
//! <b>Complexity</b>: Constant.
|
1231
|
-
const_reverse_iterator crend() const
|
1531
|
+
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
1232
1532
|
{ return container_detail::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
1233
1533
|
|
1234
1534
|
//////////////////////////////////////////////
|
@@ -1242,7 +1542,7 @@ class flat_multimap
|
|
1242
1542
|
//! <b>Throws</b>: Nothing.
|
1243
1543
|
//!
|
1244
1544
|
//! <b>Complexity</b>: Constant.
|
1245
|
-
bool empty() const
|
1545
|
+
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
1246
1546
|
{ return m_flat_tree.empty(); }
|
1247
1547
|
|
1248
1548
|
//! <b>Effects</b>: Returns the number of the elements contained in the container.
|
@@ -1250,7 +1550,7 @@ class flat_multimap
|
|
1250
1550
|
//! <b>Throws</b>: Nothing.
|
1251
1551
|
//!
|
1252
1552
|
//! <b>Complexity</b>: Constant.
|
1253
|
-
size_type size() const
|
1553
|
+
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
1254
1554
|
{ return m_flat_tree.size(); }
|
1255
1555
|
|
1256
1556
|
//! <b>Effects</b>: Returns the largest possible size of the container.
|
@@ -1258,7 +1558,7 @@ class flat_multimap
|
|
1258
1558
|
//! <b>Throws</b>: Nothing.
|
1259
1559
|
//!
|
1260
1560
|
//! <b>Complexity</b>: Constant.
|
1261
|
-
size_type max_size() const
|
1561
|
+
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
1262
1562
|
{ return m_flat_tree.max_size(); }
|
1263
1563
|
|
1264
1564
|
//! <b>Effects</b>: Number of elements for which memory has been allocated.
|
@@ -1267,7 +1567,7 @@ class flat_multimap
|
|
1267
1567
|
//! <b>Throws</b>: Nothing.
|
1268
1568
|
//!
|
1269
1569
|
//! <b>Complexity</b>: Constant.
|
1270
|
-
size_type capacity() const
|
1570
|
+
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
1271
1571
|
{ return m_flat_tree.capacity(); }
|
1272
1572
|
|
1273
1573
|
//! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
|
@@ -1279,7 +1579,7 @@ class flat_multimap
|
|
1279
1579
|
//!
|
1280
1580
|
//! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
|
1281
1581
|
//! to values might be invalidated.
|
1282
|
-
void reserve(size_type cnt)
|
1582
|
+
void reserve(size_type cnt)
|
1283
1583
|
{ m_flat_tree.reserve(cnt); }
|
1284
1584
|
|
1285
1585
|
//! <b>Effects</b>: Tries to deallocate the excess of memory created
|
@@ -1291,13 +1591,23 @@ class flat_multimap
|
|
1291
1591
|
void shrink_to_fit()
|
1292
1592
|
{ m_flat_tree.shrink_to_fit(); }
|
1293
1593
|
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
//
|
1298
|
-
//////////////////////////////////////////////
|
1594
|
+
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
1595
|
+
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
1596
|
+
{ return container_detail::force_copy<iterator>(m_flat_tree.nth(n)); }
|
1299
1597
|
|
1300
|
-
|
1598
|
+
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
1599
|
+
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
1600
|
+
{ return container_detail::force_copy<iterator>(m_flat_tree.nth(n)); }
|
1601
|
+
|
1602
|
+
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
1603
|
+
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
1604
|
+
{ return m_flat_tree.index_of(container_detail::force_copy<impl_iterator>(p)); }
|
1605
|
+
|
1606
|
+
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
1607
|
+
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
1608
|
+
{ return m_flat_tree.index_of(container_detail::force_copy<impl_const_iterator>(p)); }
|
1609
|
+
|
1610
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1301
1611
|
|
1302
1612
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
1303
1613
|
//! std::forward<Args>(args)... and returns the iterator pointing to the
|
@@ -1308,7 +1618,7 @@ class flat_multimap
|
|
1308
1618
|
//!
|
1309
1619
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1310
1620
|
template <class... Args>
|
1311
|
-
iterator emplace(Args
|
1621
|
+
iterator emplace(BOOST_FWD_REF(Args)... args)
|
1312
1622
|
{ return container_detail::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Args>(args)...)); }
|
1313
1623
|
|
1314
1624
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
@@ -1324,31 +1634,30 @@ class flat_multimap
|
|
1324
1634
|
//!
|
1325
1635
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1326
1636
|
template <class... Args>
|
1327
|
-
iterator emplace_hint(const_iterator hint, Args
|
1637
|
+
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
|
1328
1638
|
{
|
1329
1639
|
return container_detail::force_copy<iterator>(m_flat_tree.emplace_hint_equal
|
1330
1640
|
(container_detail::force_copy<impl_const_iterator>(hint), boost::forward<Args>(args)...));
|
1331
1641
|
}
|
1332
1642
|
|
1333
|
-
#else
|
1334
|
-
|
1335
|
-
#define
|
1336
|
-
|
1337
|
-
iterator emplace(
|
1338
|
-
{ return container_detail::force_copy<iterator>(m_flat_tree.emplace_equal
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
#
|
1349
|
-
#include BOOST_PP_LOCAL_ITERATE()
|
1643
|
+
#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
1644
|
+
|
1645
|
+
#define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \
|
1646
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1647
|
+
iterator emplace(BOOST_MOVE_UREF##N)\
|
1648
|
+
{ return container_detail::force_copy<iterator>(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\
|
1649
|
+
\
|
1650
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1651
|
+
iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
1652
|
+
{\
|
1653
|
+
return container_detail::force_copy<iterator>(m_flat_tree.emplace_hint_equal\
|
1654
|
+
(container_detail::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
1655
|
+
}\
|
1656
|
+
//
|
1657
|
+
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE)
|
1658
|
+
#undef BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE
|
1350
1659
|
|
1351
|
-
#endif
|
1660
|
+
#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
1352
1661
|
|
1353
1662
|
//! <b>Effects</b>: Inserts x and returns the iterator pointing to the
|
1354
1663
|
//! newly inserted element.
|
@@ -1394,10 +1703,10 @@ class flat_multimap
|
|
1394
1703
|
//! to the elements with bigger keys than x.
|
1395
1704
|
//!
|
1396
1705
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1397
|
-
iterator insert(const_iterator
|
1706
|
+
iterator insert(const_iterator p, const value_type& x)
|
1398
1707
|
{
|
1399
1708
|
return container_detail::force_copy<iterator>
|
1400
|
-
(m_flat_tree.insert_equal( container_detail::force_copy<impl_const_iterator>(
|
1709
|
+
(m_flat_tree.insert_equal( container_detail::force_copy<impl_const_iterator>(p)
|
1401
1710
|
, container_detail::force<impl_value_type>(x)));
|
1402
1711
|
}
|
1403
1712
|
|
@@ -1412,10 +1721,10 @@ class flat_multimap
|
|
1412
1721
|
//! to the elements with bigger keys than x.
|
1413
1722
|
//!
|
1414
1723
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1415
|
-
iterator insert(const_iterator
|
1724
|
+
iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
1416
1725
|
{
|
1417
1726
|
return container_detail::force_copy<iterator>
|
1418
|
-
(m_flat_tree.insert_equal(container_detail::force_copy<impl_const_iterator>(
|
1727
|
+
(m_flat_tree.insert_equal(container_detail::force_copy<impl_const_iterator>(p)
|
1419
1728
|
, boost::move(x)));
|
1420
1729
|
}
|
1421
1730
|
|
@@ -1430,10 +1739,10 @@ class flat_multimap
|
|
1430
1739
|
//! to the elements with bigger keys than x.
|
1431
1740
|
//!
|
1432
1741
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1433
|
-
iterator insert(const_iterator
|
1742
|
+
iterator insert(const_iterator p, BOOST_RV_REF(impl_value_type) x)
|
1434
1743
|
{
|
1435
1744
|
return container_detail::force_copy<iterator>(
|
1436
|
-
m_flat_tree.insert_equal(container_detail::force_copy<impl_const_iterator>(
|
1745
|
+
m_flat_tree.insert_equal(container_detail::force_copy<impl_const_iterator>(p), boost::move(x)));
|
1437
1746
|
}
|
1438
1747
|
|
1439
1748
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
@@ -1460,24 +1769,52 @@ class flat_multimap
|
|
1460
1769
|
//! search time plus N*size() insertion time.
|
1461
1770
|
//!
|
1462
1771
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1772
|
+
//!
|
1773
|
+
//! <b>Note</b>: Non-standard extension.
|
1463
1774
|
template <class InputIterator>
|
1464
1775
|
void insert(ordered_range_t, InputIterator first, InputIterator last)
|
1465
1776
|
{ m_flat_tree.insert_equal(ordered_range, first, last); }
|
1466
1777
|
|
1467
|
-
|
1778
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1779
|
+
//! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) .
|
1780
|
+
//!
|
1781
|
+
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
|
1782
|
+
//! search time plus N*size() insertion time.
|
1783
|
+
//!
|
1784
|
+
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1785
|
+
void insert(std::initializer_list<value_type> il)
|
1786
|
+
{ m_flat_tree.insert_equal(il.begin(), il.end()); }
|
1787
|
+
|
1788
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
|
1789
|
+
//!
|
1790
|
+
//! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
|
1791
|
+
//! if there is no element with key equivalent to the key of that element. This
|
1792
|
+
//! function is more efficient than the normal range creation for ordered ranges.
|
1793
|
+
//!
|
1794
|
+
//! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
|
1795
|
+
//! search time plus N*size() insertion time.
|
1796
|
+
//!
|
1797
|
+
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
1798
|
+
//!
|
1799
|
+
//! <b>Note</b>: Non-standard extension.
|
1800
|
+
void insert(ordered_range_t, std::initializer_list<value_type> il)
|
1801
|
+
{ m_flat_tree.insert_equal(ordered_range, il.begin(), il.end()); }
|
1802
|
+
#endif
|
1803
|
+
|
1804
|
+
//! <b>Effects</b>: Erases the element pointed to by p.
|
1468
1805
|
//!
|
1469
1806
|
//! <b>Returns</b>: Returns an iterator pointing to the element immediately
|
1470
1807
|
//! following q prior to the element being erased. If no such element exists,
|
1471
1808
|
//! returns end().
|
1472
1809
|
//!
|
1473
|
-
//! <b>Complexity</b>: Linear to the elements with keys bigger than
|
1810
|
+
//! <b>Complexity</b>: Linear to the elements with keys bigger than p
|
1474
1811
|
//!
|
1475
1812
|
//! <b>Note</b>: Invalidates elements with keys
|
1476
1813
|
//! not less than the erased element.
|
1477
|
-
iterator erase(const_iterator
|
1814
|
+
iterator erase(const_iterator p)
|
1478
1815
|
{
|
1479
1816
|
return container_detail::force_copy<iterator>(
|
1480
|
-
m_flat_tree.erase(container_detail::force_copy<impl_const_iterator>(
|
1817
|
+
m_flat_tree.erase(container_detail::force_copy<impl_const_iterator>(p)));
|
1481
1818
|
}
|
1482
1819
|
|
1483
1820
|
//! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
|
@@ -1510,6 +1847,8 @@ class flat_multimap
|
|
1510
1847
|
//!
|
1511
1848
|
//! <b>Complexity</b>: Constant.
|
1512
1849
|
void swap(flat_multimap& x)
|
1850
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
1851
|
+
&& boost::container::container_detail::is_nothrow_swappable<Compare>::value )
|
1513
1852
|
{ m_flat_tree.swap(x.m_flat_tree); }
|
1514
1853
|
|
1515
1854
|
//! <b>Effects</b>: erase(a.begin(),a.end()).
|
@@ -1517,7 +1856,7 @@ class flat_multimap
|
|
1517
1856
|
//! <b>Postcondition</b>: size() == 0.
|
1518
1857
|
//!
|
1519
1858
|
//! <b>Complexity</b>: linear in size().
|
1520
|
-
void clear()
|
1859
|
+
void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
1521
1860
|
{ m_flat_tree.clear(); }
|
1522
1861
|
|
1523
1862
|
//////////////////////////////////////////////
|
@@ -1573,7 +1912,7 @@ class flat_multimap
|
|
1573
1912
|
iterator lower_bound(const key_type& x)
|
1574
1913
|
{ return container_detail::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
1575
1914
|
|
1576
|
-
//! <b>Returns</b>:
|
1915
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key
|
1577
1916
|
//! not less than k, or a.end() if such an element is not found.
|
1578
1917
|
//!
|
1579
1918
|
//! <b>Complexity</b>: Logarithmic
|
@@ -1587,7 +1926,7 @@ class flat_multimap
|
|
1587
1926
|
iterator upper_bound(const key_type& x)
|
1588
1927
|
{return container_detail::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
1589
1928
|
|
1590
|
-
//! <b>Returns</b>:
|
1929
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key
|
1591
1930
|
//! not less than x, or end() if such an element is not found.
|
1592
1931
|
//!
|
1593
1932
|
//! <b>Complexity</b>: Logarithmic
|
@@ -1606,69 +1945,70 @@ class flat_multimap
|
|
1606
1945
|
std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const
|
1607
1946
|
{ return container_detail::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
1608
1947
|
|
1609
|
-
|
1610
|
-
|
1611
|
-
|
1612
|
-
|
1613
|
-
|
1614
|
-
template <class K1, class T1, class C1, class A1>
|
1615
|
-
friend bool operator< (const flat_multimap<K1, T1, C1, A1>& x,
|
1616
|
-
const flat_multimap<K1, T1, C1, A1>& y);
|
1617
|
-
/// @endcond
|
1618
|
-
};
|
1619
|
-
|
1620
|
-
template <class Key, class T, class Compare, class Allocator>
|
1621
|
-
inline bool operator==(const flat_multimap<Key,T,Compare,Allocator>& x,
|
1622
|
-
const flat_multimap<Key,T,Compare,Allocator>& y)
|
1623
|
-
{ return x.m_flat_tree == y.m_flat_tree; }
|
1948
|
+
//! <b>Effects</b>: Returns true if x and y are equal
|
1949
|
+
//!
|
1950
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1951
|
+
friend bool operator==(const flat_multimap& x, const flat_multimap& y)
|
1952
|
+
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
1624
1953
|
|
1625
|
-
|
1626
|
-
|
1627
|
-
|
1628
|
-
|
1954
|
+
//! <b>Effects</b>: Returns true if x and y are unequal
|
1955
|
+
//!
|
1956
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1957
|
+
friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
|
1958
|
+
{ return !(x == y); }
|
1629
1959
|
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
1633
|
-
|
1960
|
+
//! <b>Effects</b>: Returns true if x is less than y
|
1961
|
+
//!
|
1962
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1963
|
+
friend bool operator<(const flat_multimap& x, const flat_multimap& y)
|
1964
|
+
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
1634
1965
|
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1966
|
+
//! <b>Effects</b>: Returns true if x is greater than y
|
1967
|
+
//!
|
1968
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1969
|
+
friend bool operator>(const flat_multimap& x, const flat_multimap& y)
|
1638
1970
|
{ return y < x; }
|
1639
1971
|
|
1640
|
-
|
1641
|
-
|
1642
|
-
|
1972
|
+
//! <b>Effects</b>: Returns true if x is equal or less than y
|
1973
|
+
//!
|
1974
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1975
|
+
friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
|
1643
1976
|
{ return !(y < x); }
|
1644
1977
|
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1978
|
+
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
1979
|
+
//!
|
1980
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1981
|
+
friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
|
1648
1982
|
{ return !(x < y); }
|
1649
1983
|
|
1650
|
-
|
1651
|
-
|
1984
|
+
//! <b>Effects</b>: x.swap(y)
|
1985
|
+
//!
|
1986
|
+
//! <b>Complexity</b>: Constant.
|
1987
|
+
friend void swap(flat_multimap& x, flat_multimap& y)
|
1652
1988
|
{ x.swap(y); }
|
1989
|
+
};
|
1653
1990
|
|
1654
1991
|
}}
|
1655
1992
|
|
1656
|
-
|
1993
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1657
1994
|
|
1658
1995
|
namespace boost {
|
1659
1996
|
|
1660
1997
|
//!has_trivial_destructor_after_move<> == true_type
|
1661
1998
|
//!specialization for optimizations
|
1662
|
-
template <class
|
1663
|
-
struct has_trivial_destructor_after_move< boost::container::flat_multimap<
|
1999
|
+
template <class Key, class T, class Compare, class Allocator>
|
2000
|
+
struct has_trivial_destructor_after_move< boost::container::flat_multimap<Key, T, Compare, Allocator> >
|
1664
2001
|
{
|
1665
|
-
|
2002
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
2003
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
|
2004
|
+
::boost::has_trivial_destructor_after_move<pointer>::value &&
|
2005
|
+
::boost::has_trivial_destructor_after_move<Compare>::value;
|
1666
2006
|
};
|
1667
2007
|
|
1668
2008
|
} //namespace boost {
|
1669
2009
|
|
1670
|
-
|
2010
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1671
2011
|
|
1672
2012
|
#include <boost/container/detail/config_end.hpp>
|
1673
2013
|
|
1674
|
-
#endif
|
2014
|
+
#endif // BOOST_CONTAINER_FLAT_MAP_HPP
|