passenger 5.0.24 → 5.0.25
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.editorconfig +8 -18
- data/CHANGELOG +20 -0
- data/build/cplusplus_support.rb +3 -3
- data/build/cxx_dependency_map.rb +148 -96
- data/build/cxx_tests.rb +24 -12
- data/build/packaging.rb +1 -2
- data/dev/copy_boost_headers +32 -9
- data/resources/templates/standalone/config.erb +2 -0
- data/resources/templates/standalone/footer.erb +3 -0
- data/resources/templates/standalone/server.erb +7 -0
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +2 -2
- data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -0
- data/src/agent/Core/UnionStation/Transaction.h +1 -15
- data/src/agent/README.md +15 -3
- data/src/agent/UstRouter/Controller.h +95 -90
- data/src/agent/UstRouter/FileSink.h +3 -2
- data/src/agent/UstRouter/LogSink.h +5 -6
- data/src/agent/UstRouter/RemoteSender.h +41 -12
- data/src/agent/UstRouter/RemoteSink.h +3 -2
- data/src/agent/UstRouter/Transaction.h +198 -66
- data/src/apache2_module/Configuration.cpp +57 -2
- data/src/apache2_module/Configuration.h +3 -1
- data/src/apache2_module/Configuration.hpp +3 -1
- data/src/apache2_module/Hooks.cpp +4 -2
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.h +1 -0
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -0
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +4 -3
- data/src/cxx_supportlib/ServerKit/Server.h +1 -0
- data/src/cxx_supportlib/Utils/BufferedIO.h +21 -4
- data/src/cxx_supportlib/Utils/IOUtils.cpp +62 -12
- data/src/cxx_supportlib/Utils/StrIntUtils.cpp +3 -3
- data/src/cxx_supportlib/Utils/StrIntUtils.h +2 -2
- data/src/cxx_supportlib/WatchdogLauncher.cpp +13 -1
- data/src/cxx_supportlib/WatchdogLauncher.h +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +312 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/concept.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +353 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_all.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_store.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +1 -8
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder_regex.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter_regex.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/predicate.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +95 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/util.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/erase.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find.hpp +334 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_iterator.hpp +388 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +193 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/join.hpp +145 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +475 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate_facade.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/regex.hpp +646 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/regex_find_format.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/replace.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/sequence_traits.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +163 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/list_traits.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/rope_traits.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/slist_traits.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/string_traits.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std_containers_traits.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim.hpp +398 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/address.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/aligned_storage.hpp +1 -164
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +33 -84
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +83 -231
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +774 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_alpha.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +134 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sparc.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_linux_arm.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_arm.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +57 -36
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +140 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +297 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/link.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +30 -76
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +876 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +973 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +395 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +802 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +240 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +514 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +616 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +178 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +824 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +928 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +91 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +280 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +18 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/arg.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +507 -2
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +214 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/make_adaptable.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +29 -36
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +304 -0
- data/src/cxx_supportlib/vendor-modified/boost/checked_delete.hpp +13 -65
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/concept_def.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +25 -26
- data/src/cxx_supportlib/vendor-modified/boost/config.hpp +9 -12
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +36 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +135 -14
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +41 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +48 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +33 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +36 -16
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +121 -87
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +39 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +327 -64
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +44 -10
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +38 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +0 -12
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +36 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +37 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +63 -23
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +44 -13
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +102 -128
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +258 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cloudabi.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/haiku.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/macos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/solaris.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/select_compiler_config.hpp +43 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/select_platform_config.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/select_stdlib_config.hpp +28 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +58 -15
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +129 -14
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +13 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/suffix.hpp +159 -85
- data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +351 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +371 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +283 -213
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +195 -51
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +840 -625
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +24 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +289 -181
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +314 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/auto_link.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +16 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +1142 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +61 -48
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +293 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +103 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +335 -408
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +383 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator_to_raw_pointer.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +300 -83
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/min_max.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/minimal_char_traits_header.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +45 -118
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +22 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +288 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +115 -109
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +33 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +62 -89
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +191 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/singleton.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/to_raw_pointer.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +17 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +646 -595
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +44 -184
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +23 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +50 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +627 -287
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +608 -657
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +395 -376
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +616 -625
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/deque.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/list.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/pool_options.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +193 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/slist.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/small_vector.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/stable_vector.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/string.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +194 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/vector.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +423 -1019
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator_fwd.hpp +23 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +520 -626
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +416 -407
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +574 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +711 -470
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +314 -145
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +477 -282
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +63 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +1660 -945
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +162 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/enable_if.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +154 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +301 -0
- data/src/cxx_supportlib/vendor-modified/boost/{detail/scoped_enum_emulation.hpp → core/scoped_enum.hpp} +19 -164
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/underlying_type.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +132 -95
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/adjust_functors.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_local_time_adjustor.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_clock_device.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_defs.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_format_simple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_limited.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_locales.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generator_formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generator_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_names_put.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/filetime_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/conversion.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_calendar.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day_of_year.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +352 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +517 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_ymd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/conversion.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/custom_time_zone.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/date_duration_operators.hpp +115 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/dst_transition_day_rules.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +528 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +184 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_types.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/posix_time_zone.hpp +474 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/tz_database.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time_adjustor.hpp +218 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_timezone_defs.hpp +193 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/microsec_time_clock.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/parse_format_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_legacy_io.hpp +153 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_system.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +212 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_period.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +201 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_defs.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_convert.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_defs.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_formatting_streams.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +99 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +396 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +3 -118
- data/src/cxx_supportlib/vendor-modified/boost/detail/fenv.hpp +30 -3
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -283
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +9 -477
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +12 -82
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +8 -107
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +6 -24
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +35 -30
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/float_functions.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/hash_float.hpp +22 -28
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/limits.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/extensions.hpp +5 -66
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash.hpp +77 -48
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash_fwd.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/get_pointer.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +47 -55
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +655 -2197
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set_hook.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +376 -1605
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +329 -601
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +982 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set_hook.hpp +17 -27
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +2101 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/{detail/tree_algorithms.hpp → bstree_algorithms.hpp} +973 -684
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +121 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +30 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +22 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algo_type.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +48 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +95 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/assert.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +19 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +184 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +104 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_end.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +235 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/empty_node_checker.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +107 -95
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/get_value_traits.hpp +222 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/has_member_function_callable_with.hpp +279 -296
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +122 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +186 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/is_stateful_value_traits.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +99 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +14 -139
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +295 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/minimal_less_equal_header.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/minimal_pair_header.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +160 -337
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_holder.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +34 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/pointer_element.hpp +168 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +124 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +14 -117
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/std_fwd.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +18 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +13 -133
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/uncast.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +2006 -1615
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +450 -229
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/link_mode.hpp +21 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +253 -282
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +17 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +21 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +94 -648
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +374 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +16 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +188 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +97 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +29 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +366 -1592
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +297 -639
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +619 -2187
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +661 -2252
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +468 -1493
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +163 -594
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +326 -307
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +16 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +686 -2238
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +425 -1575
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +422 -703
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +440 -1122
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +158 -406
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +558 -2257
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +476 -1611
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +36 -27
- data/src/cxx_supportlib/vendor-modified/boost/iterator.hpp +3 -42
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +15 -22
- data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +59 -64
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +77 -50
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +13 -22
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +318 -212
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +17 -49
- data/src/cxx_supportlib/vendor-modified/boost/iterator/{detail/minimum_category.hpp → minimum_category.hpp} +24 -45
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +10 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +29 -2649
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +498 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +787 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +194 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +197 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +294 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +212 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +24 -11
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cpp_regex_traits.cpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +40 -40
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +14 -17
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_raw_buffer.cpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +24 -11
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +11 -14
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +3 -420
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +173 -77
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +83 -33
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +42 -12
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +196 -18
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +111 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +40 -8
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/real_cast.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +233 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +223 -54
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +201 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_end.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +661 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +468 -62
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +206 -129
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +1078 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +591 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +33 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/move.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +30 -95
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +871 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +53 -98
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +317 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/O1_size_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/accumulate.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/advance.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/advance_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/alias.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/always.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/apply_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/apply_wrap.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/arg.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/arg_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/arithmetic.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/as_sequence.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/at.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/at_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/O1_size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/adl_barrier.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/advance_backward.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/advance_forward.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/apply_1st.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arg_typedef.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arithmetic_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arity_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/at_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/back_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/basic_bind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/begin_end_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/clear_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/comparison_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dependent_nttp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/eti.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/gcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/gpu.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/has_apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/has_xxx.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/intel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/lambda.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/msvc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/msvc_typename.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/nttp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/pp_counter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/static_constant.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/typeof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/use_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/workaround.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/contains_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_args.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/empty_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/erase_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/erase_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/filter_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_pred.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/front_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/full_lambda.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_begin.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/insert_range_impl.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/inserter_algorithm.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/is_msvc_eti_arg.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_apply.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_fold_if_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/joint_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_arity_param.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_no_ctps.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/largest_int.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/logical_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_dtw.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_eti_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_is_class.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_never_true.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nttp_decl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/numeric_cast_utils.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/numeric_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/order_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/overload_names.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/partition_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/pop_back_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/pop_front_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/add.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/def_params_tail.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/default_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/enum.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/ext_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/filter_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/is_seq.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/range.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/repeat.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/sub.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/token_equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/tuple.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/push_back_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/push_front_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_fold_impl_body.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_iter_fold_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/sequence_wrapper.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/shift_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/single_element_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/sort_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/data.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/test_case.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/traits_lambda_spec.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/transform_iter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/type_wrapper.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/unwrap.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/value_wknd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/yes_no.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/back_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/back_inserter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/begin.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/begin_end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/begin_end_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bind_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitwise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitxor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bool_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/clear.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/clear_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/comparison.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/contains.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/contains_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/copy.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/copy_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/count.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/count_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/count_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/deque.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/deref.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/distance.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/distance_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/divides.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_base.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_sequence.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/equal_to.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_key.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_key_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/eval_if.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/filter_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/find.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/find_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/for_each.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/front_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/front_inserter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/greater.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/greater_equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_key.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_key_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +12 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/identity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/index_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/index_of.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/inherit.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/inherit_linearly.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_range.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_range_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/inserter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/int.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/int_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c_tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/is_placeholder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/is_sequence.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iter_fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iter_fold_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_category.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_range.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_tags.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/joint_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/key_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/key_type_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lambda.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lambda_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/less.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/less_equal.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/arity.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/list.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/map.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/set.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/unrolling.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/vector.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/begin_end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/clear.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/item.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/numbered_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/pop_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/push_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list0_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list10_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list20_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list30_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list40_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list50_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/list_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/logical.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/long.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/long_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/at_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/begin_end_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/clear_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/contains_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/empty_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/erase_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/erase_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/has_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/insert_range_impl.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/item.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/key_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/map0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/value_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map0.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/math/fixed_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/math/is_even.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/math/rational_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/max.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/max_element.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/min.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/min_element.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/min_max.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/minus.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/modulus.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiplies.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/count_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/item.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/multiset0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/multiset0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/negate.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/next.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/next_prior.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/not.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/not_equal_to.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/order.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/order_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pair.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pair_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/partition.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/placeholders.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/plus.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_back_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_front_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/print.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/prior.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/protect.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_back_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/push_front_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/quote.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/range_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/remove.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/remove_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/replace.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/replace_if.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse_fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse_iter_fold.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/same_as.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sequence_tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sequence_tag_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/at_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/begin_end_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/clear_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/empty_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/erase_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/erase_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/has_key_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/insert_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/insert_range_impl.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/item.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/key_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/numbered_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/set0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/size_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/value_type_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set0.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set0_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set10_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set20_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set30_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set40_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set50_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/set_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/shift_left.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/shift_right.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/single_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size_t.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/size_t_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sizeof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/sort.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/stable_partition.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/string.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/switch.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/times.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/transform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/transform_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/unique.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/unpack_args.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/value_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/value_type_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/O1_size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/begin_end.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/clear.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/include_preprocessed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/item.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/numbered.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/numbered_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/pop_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/pop_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/push_back.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/push_front.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/size.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/tag.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/vector0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector0.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector0_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector10.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector10_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector20.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector20_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector30.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector30_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector40.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector40_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector50.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector50_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector_c.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/void.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/void_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/zip_view.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +118 -4
- data/src/cxx_supportlib/vendor-modified/boost/noncopyable.hpp +12 -43
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +32 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +18 -2
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +9 -37
- data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +660 -84
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +4 -27
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +2 -28
- data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +6 -107
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +2 -28
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/predef.h +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/_cassert.h +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/_exception.h +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/comp_detected.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/os_detected.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/platform_detected.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/test.h +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/test_def.h +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware.h +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +123 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library.h +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c.h +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/_prefix.h +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/_prefix.h +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +103 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other.h +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/dec.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/push_back.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/push_front.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +17 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +16 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/empty.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/identity.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_or_1.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/library.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +27 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +19 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +57 -10
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +58 -10
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +18 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +19 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/size.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/eat.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_array.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/algorithm/equal.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +35 -15
- data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/range/const_iterator.hpp +39 -30
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/extract_optional_type.hpp +21 -25
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/difference_type.hpp +20 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/empty.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +481 -251
- data/src/cxx_supportlib/vendor-modified/boost/range/mutable_iterator.hpp +41 -29
- data/src/cxx_supportlib/vendor-modified/boost/range/range_fwd.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/reverse_iterator.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +30 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/range/value_type.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +63 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/ref.hpp +12 -184
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +51 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/mfc.hpp +30 -34
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +25 -38
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +211 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +161 -106
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +24 -21
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +46 -20
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +206 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +122 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +6 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +75 -71
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +6 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +43 -41
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +103 -172
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_allocator.hpp +318 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_count_impl.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp +16 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_utility.hpp +106 -70
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +36 -59
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/{atomic_count_pthreads.hpp → atomic_count_pt.hpp} +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +116 -10
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +140 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +137 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +21 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_disable_deprecated.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_if_array.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +80 -169
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +121 -118
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +54 -12
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -19
- data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +467 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/barrier.hpp +222 -36
- data/src/cxx_supportlib/vendor-modified/boost/thread/caller_context.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/completion_latch.hpp +4 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +202 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_views.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +223 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +223 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +202 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_views.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +725 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +327 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +369 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +335 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +466 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/devector.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/cv_status.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +32 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/counter.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/delete.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/function_wrapper.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +373 -120
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoker.hpp +762 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/is_convertible.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/memory.hpp +11 -119
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +116 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +41 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_group.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/variadic_footer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/variadic_header.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptional_ptr.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executor.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +318 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/priority_executor_base.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/scheduled_executor_base.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +213 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +205 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +271 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +216 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +170 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/config/inline_namespace.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/exception_list.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v1/exception_list.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v1/inline_namespace.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/inline_namespace.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +316 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/task_region.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +3327 -1705
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/future_error.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/{future_error_code.hpp → futures/future_error_code.hpp} +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/future_status.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/is_future_type.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/launch.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_all.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/latch.hpp +43 -15
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_types.hpp +45 -41
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_adapter.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/ostream_buffer.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +101 -56
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +141 -47
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +39 -10
- data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/shared_mutex.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/sync_bounded_queue.hpp +2 -580
- data/src/cxx_supportlib/vendor-modified/boost/thread/sync_queue.hpp +2 -502
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +78 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/testable_mutex.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_pool.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +202 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/thread.hpp +73 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/with_lock_guard.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +3 -17
- data/src/cxx_supportlib/vendor-modified/boost/token_iterator.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +14 -5
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_const.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_cv.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_lvalue_reference.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +6 -17
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +14 -62
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_rvalue_reference.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_volatile.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +134 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +9 -18
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/{detail/wrap.hpp → alignment_traits.hpp} +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/arithmetic_traits.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/array_traits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/broken_compiler_spec.hpp +9 -105
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +118 -131
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conditional.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/config.hpp +5 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/decay.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/declval.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/bool_trait_def.hpp +9 -26
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/bool_trait_undef.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +212 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_type_impl.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/composite_member_pointer_type.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/composite_pointer_type.hpp +153 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +12 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +12 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +14 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_and.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_eq.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_not.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_or.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +13 -218
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +13 -107
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +15 -974
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/mp_defer.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/template_arity_spec.hpp +6 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/floating_point_promotion.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/function_traits.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_and.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_and_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_or.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_or_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_xor.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_xor_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_complement.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_divides.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_divides_assign.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_equal_to.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater_equal.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_left_shift.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_left_shift_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less_equal.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_and.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_not.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_or.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_modulus.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_modulus_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_multiplies.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_multiplies_assign.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_negate.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_new_operator.hpp +147 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_not_equal_to.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_assign.hpp +57 -18
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_constructor.hpp +43 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +52 -23
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_operator.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_right_shift.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_right_shift_assign.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_assign.hpp +23 -29
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_constructor.hpp +31 -25
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_copy.hpp +34 -36
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_destructor.hpp +21 -22
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +40 -25
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +45 -25
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_unary_minus.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_unary_plus.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_virtual_destructor.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +86 -33
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +116 -41
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_abstract.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_arithmetic.hpp +3 -32
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +12 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +9 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_of.hpp +8 -20
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_of_tr1.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_class.hpp +17 -43
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complex.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +2 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +8 -127
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +94 -98
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +8 -117
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +19 -42
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_float.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +9 -18
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +2 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +43 -37
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +8 -76
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +18 -34
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_object_pointer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +8 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +32 -35
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +43 -41
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_object.hpp +7 -32
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pod.hpp +14 -101
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +12 -127
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_polymorphic.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_reference.hpp +6 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +4 -66
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scalar.hpp +3 -31
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +83 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_stateless.hpp +8 -23
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_union.hpp +6 -32
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +85 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_void.hpp +7 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +8 -115
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_signed.hpp +35 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_unsigned.hpp +34 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/promote.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/reference_traits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_bounds.hpp +4 -31
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +8 -65
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +8 -23
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_reference.hpp +5 -21
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +7 -61
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_identity.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +101 -239
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +118 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +283 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +135 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +149 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +186 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +321 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +471 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +621 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocate.hpp +42 -34
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/buckets.hpp +108 -56
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/equivalent.hpp +30 -24
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/extract_key.hpp +21 -16
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/table.hpp +45 -33
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unique.hpp +21 -15
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/util.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered_map.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered_set.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/addressof.hpp +11 -96
- data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/binary.hpp +708 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/declval.hpp +5 -41
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +18 -5
- data/src/cxx_supportlib/vendor-modified/boost/utility/empty_deleter.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/enable_if.hpp +10 -112
- data/src/cxx_supportlib/vendor-modified/boost/utility/explicit_operator_bool.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/identity_type.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/in_place_factory.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +25 -9
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +536 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref_fwd.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +10 -48
- data/src/cxx_supportlib/vendor-modified/boost/utility/typed_in_place_factory.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +281 -0
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/visit_each.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/modp_b64.cpp +3 -1
- data/src/nginx_module/Configuration.c +157 -6
- data/src/nginx_module/Configuration.h +3 -1
- data/src/nginx_module/ContentHandler.c +2 -1
- data/src/nginx_module/ngx_http_passenger_module.c +27 -46
- data/src/nodejs_supportlib/phusion_passenger/log_express.js +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +102 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +20 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +36 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/LICENSE.md +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb +7 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/api.rb +28 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/misc.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/spec_helper.rb +18 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/transaction.rb +1 -10
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version_data.rb +4 -4
- metadata +609 -62
- data/src/agent/UstRouter/DataStoreId.h +0 -184
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.0 +0 -15374
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.1 +0 -15374
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.2 +0 -15374
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/requests +0 -568
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.0 +0 -3104
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.1 +0 -3104
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.2 +0 -699
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/base.hpp +0 -585
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas32strong.hpp +0 -885
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas32weak.hpp +0 -947
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas64strong.hpp +0 -443
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-alpha.hpp +0 -368
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-armv6plus.hpp +0 -252
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-cas.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-ppc.hpp +0 -2850
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-sparcv9.hpp +0 -1259
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-x86.hpp +0 -1766
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/generic-cas.hpp +0 -206
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/linux-arm.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type-classification.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithms.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/memory_util.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/preprocessor.hpp +0 -232
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/utilities.hpp +0 -1141
- data/src/cxx_supportlib/vendor-modified/boost/detail/is_incrementable.hpp +0 -134
- data/src/cxx_supportlib/vendor-modified/boost/detail/is_xxx.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/detail/limits.hpp +0 -449
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/attribute_noreturn.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/indirect_reference.hpp +0 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/clear_on_destructor_base.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/memory_util.hpp +0 -288
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/preprocessor.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/utilities.hpp +0 -858
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set_hook.hpp +0 -292
- data/src/cxx_supportlib/vendor-modified/boost/libs/atomic/lockpool.cpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/local_free_on_destruction.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/timeconv.inl +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/math/common_factor_ct.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/math_fwd.hpp +0 -108
- data/src/cxx_supportlib/vendor-modified/boost/parameter.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/pointee.hpp +0 -74
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/allocate_array_helper.hpp +0 -169
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_deleter.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/make_array_helper.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/async_func.hpp +0 -571
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_type_imp.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/cv_traits_impl.hpp +0 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/false_result.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/size_t_trait_def.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/size_t_trait_undef.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/type_trait_def.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/type_trait_undef.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/units/detail/utility.hpp +0 -104
@@ -1,6 +1,6 @@
|
|
1
1
|
//////////////////////////////////////////////////////////////////////////////
|
2
2
|
//
|
3
|
-
// (C) Copyright Ion Gaztanaga 2008-
|
3
|
+
// (C) Copyright Ion Gaztanaga 2008-2015. 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
|
//
|
@@ -19,46 +19,60 @@
|
|
19
19
|
#ifndef BOOST_CONTAINER_STABLE_VECTOR_HPP
|
20
20
|
#define BOOST_CONTAINER_STABLE_VECTOR_HPP
|
21
21
|
|
22
|
-
#
|
22
|
+
#ifndef BOOST_CONFIG_HPP
|
23
|
+
# include <boost/config.hpp>
|
24
|
+
#endif
|
25
|
+
|
26
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
23
27
|
# pragma once
|
24
28
|
#endif
|
25
29
|
|
26
30
|
#include <boost/container/detail/config_begin.hpp>
|
27
31
|
#include <boost/container/detail/workaround.hpp>
|
32
|
+
|
33
|
+
// container
|
34
|
+
#include <boost/container/allocator_traits.hpp>
|
28
35
|
#include <boost/container/container_fwd.hpp>
|
29
|
-
#include <boost/
|
30
|
-
#include <boost/mpl/not.hpp>
|
31
|
-
#include <boost/assert.hpp>
|
36
|
+
#include <boost/container/new_allocator.hpp> //new_allocator
|
32
37
|
#include <boost/container/throw_exception.hpp>
|
38
|
+
// container/detail
|
39
|
+
#include <boost/container/detail/addressof.hpp>
|
40
|
+
#include <boost/container/detail/algorithm.hpp> //algo_equal(), algo_lexicographical_compare
|
41
|
+
#include <boost/container/detail/alloc_helpers.hpp>
|
33
42
|
#include <boost/container/detail/allocator_version_traits.hpp>
|
34
|
-
#include <boost/container/detail/
|
43
|
+
#include <boost/container/detail/construct_in_place.hpp>
|
44
|
+
#include <boost/container/detail/iterator.hpp>
|
35
45
|
#include <boost/container/detail/iterators.hpp>
|
36
|
-
#include <boost/container/detail/
|
37
|
-
#include <boost/container/
|
38
|
-
#include <boost/container/
|
46
|
+
#include <boost/container/detail/placement_new.hpp>
|
47
|
+
#include <boost/container/detail/to_raw_pointer.hpp>
|
48
|
+
#include <boost/container/detail/type_traits.hpp>
|
49
|
+
// intrusive
|
39
50
|
#include <boost/intrusive/pointer_traits.hpp>
|
40
|
-
|
41
|
-
#include <boost/
|
42
|
-
|
51
|
+
// intrusive/detail
|
52
|
+
#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
|
53
|
+
// move
|
54
|
+
#include <boost/move/utility_core.hpp>
|
43
55
|
#include <boost/move/iterator.hpp>
|
56
|
+
#include <boost/move/adl_move_swap.hpp>
|
57
|
+
// move/detail
|
44
58
|
#include <boost/move/detail/move_helpers.hpp>
|
45
|
-
|
46
|
-
|
47
|
-
#include <
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
#include <boost/container/vector.hpp>
|
53
|
-
|
54
|
-
//#define STABLE_VECTOR_ENABLE_INVARIANT_CHECKING
|
59
|
+
// other
|
60
|
+
#include <boost/assert.hpp>
|
61
|
+
#include <boost/core/no_exceptions_support.hpp>
|
62
|
+
// std
|
63
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
64
|
+
#include <initializer_list>
|
65
|
+
#endif
|
55
66
|
|
56
|
-
|
67
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
68
|
+
#include <boost/container/vector.hpp>
|
69
|
+
//#define STABLE_VECTOR_ENABLE_INVARIANT_CHECKING
|
70
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
57
71
|
|
58
72
|
namespace boost {
|
59
73
|
namespace container {
|
60
74
|
|
61
|
-
|
75
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
62
76
|
|
63
77
|
namespace stable_vector_detail{
|
64
78
|
|
@@ -77,7 +91,7 @@ class clear_on_destroy
|
|
77
91
|
{
|
78
92
|
if(do_clear_){
|
79
93
|
c_.clear();
|
80
|
-
c_.priv_clear_pool();
|
94
|
+
c_.priv_clear_pool();
|
81
95
|
}
|
82
96
|
}
|
83
97
|
|
@@ -88,7 +102,7 @@ class clear_on_destroy
|
|
88
102
|
bool do_clear_;
|
89
103
|
};
|
90
104
|
|
91
|
-
template<typename
|
105
|
+
template<typename Pointer>
|
92
106
|
struct node;
|
93
107
|
|
94
108
|
template<class VoidPtr>
|
@@ -116,167 +130,18 @@ struct node_base
|
|
116
130
|
node_base_ptr_ptr up;
|
117
131
|
};
|
118
132
|
|
119
|
-
template<typename
|
133
|
+
template<typename Pointer>
|
120
134
|
struct node
|
121
|
-
: public node_base
|
135
|
+
: public node_base
|
136
|
+
<typename ::boost::intrusive::pointer_traits<Pointer>::template
|
137
|
+
rebind_pointer<void>::type
|
138
|
+
>
|
122
139
|
{
|
123
140
|
private:
|
124
141
|
node();
|
125
142
|
|
126
143
|
public:
|
127
|
-
|
128
|
-
};
|
129
|
-
|
130
|
-
template<typename T, typename Reference, typename Pointer>
|
131
|
-
class iterator
|
132
|
-
: public std::iterator< std::random_access_iterator_tag
|
133
|
-
, T
|
134
|
-
, typename boost::intrusive::
|
135
|
-
pointer_traits<Pointer>::difference_type
|
136
|
-
, Pointer
|
137
|
-
, Reference>
|
138
|
-
{
|
139
|
-
typedef boost::intrusive::
|
140
|
-
pointer_traits<Pointer> ptr_traits;
|
141
|
-
typedef typename ptr_traits::template
|
142
|
-
rebind_pointer<void>::type void_ptr;
|
143
|
-
typedef node<void_ptr, T> node_type;
|
144
|
-
typedef node_base<void_ptr> node_base_type;
|
145
|
-
typedef typename ptr_traits::template
|
146
|
-
rebind_pointer<node_type>::type node_ptr;
|
147
|
-
typedef boost::intrusive::
|
148
|
-
pointer_traits<node_ptr> node_ptr_traits;
|
149
|
-
typedef typename ptr_traits::template
|
150
|
-
rebind_pointer<node_base_type>::type node_base_ptr;
|
151
|
-
typedef typename ptr_traits::template
|
152
|
-
rebind_pointer<node_base_ptr>::type node_base_ptr_ptr;
|
153
|
-
typedef typename ptr_traits::template
|
154
|
-
rebind_pointer<T>::type friend_iterator_pointer;
|
155
|
-
|
156
|
-
friend class iterator<T, const T, friend_iterator_pointer>;
|
157
|
-
|
158
|
-
public:
|
159
|
-
typedef std::random_access_iterator_tag iterator_category;
|
160
|
-
typedef T value_type;
|
161
|
-
typedef typename ptr_traits::difference_type difference_type;
|
162
|
-
typedef Pointer pointer;
|
163
|
-
typedef Reference reference;
|
164
|
-
|
165
|
-
iterator()
|
166
|
-
{}
|
167
|
-
|
168
|
-
explicit iterator(node_ptr p)
|
169
|
-
: pn(p)
|
170
|
-
{}
|
171
|
-
|
172
|
-
iterator(const iterator<T, T&, friend_iterator_pointer>& x)
|
173
|
-
: pn(x.pn)
|
174
|
-
{}
|
175
|
-
|
176
|
-
node_ptr &node_pointer()
|
177
|
-
{ return pn; }
|
178
|
-
|
179
|
-
const node_ptr &node_pointer() const
|
180
|
-
{ return pn; }
|
181
|
-
|
182
|
-
public:
|
183
|
-
//Pointer like operators
|
184
|
-
reference operator*() const
|
185
|
-
{ return pn->value; }
|
186
|
-
|
187
|
-
pointer operator->() const
|
188
|
-
{ return ptr_traits::pointer_to(this->operator*()); }
|
189
|
-
|
190
|
-
//Increment / Decrement
|
191
|
-
iterator& operator++()
|
192
|
-
{
|
193
|
-
if(node_base_ptr_ptr p = this->pn->up){
|
194
|
-
++p;
|
195
|
-
this->pn = node_ptr_traits::static_cast_from(*p);
|
196
|
-
}
|
197
|
-
return *this;
|
198
|
-
}
|
199
|
-
|
200
|
-
iterator operator++(int)
|
201
|
-
{ iterator tmp(*this); ++*this; return iterator(tmp); }
|
202
|
-
|
203
|
-
iterator& operator--()
|
204
|
-
{
|
205
|
-
if(node_base_ptr_ptr p = this->pn->up){
|
206
|
-
--p;
|
207
|
-
this->pn = node_ptr_traits::static_cast_from(*p);
|
208
|
-
}
|
209
|
-
return *this;
|
210
|
-
}
|
211
|
-
|
212
|
-
iterator operator--(int)
|
213
|
-
{ iterator tmp(*this); --*this; return iterator(tmp); }
|
214
|
-
|
215
|
-
reference operator[](difference_type off) const
|
216
|
-
{
|
217
|
-
iterator tmp(*this);
|
218
|
-
tmp += off;
|
219
|
-
return *tmp;
|
220
|
-
}
|
221
|
-
|
222
|
-
iterator& operator+=(difference_type off)
|
223
|
-
{
|
224
|
-
if(node_base_ptr_ptr p = this->pn->up){
|
225
|
-
p += off;
|
226
|
-
this->pn = node_ptr_traits::static_cast_from(*p);
|
227
|
-
}
|
228
|
-
return *this;
|
229
|
-
}
|
230
|
-
|
231
|
-
friend iterator operator+(const iterator &left, difference_type off)
|
232
|
-
{
|
233
|
-
iterator tmp(left);
|
234
|
-
tmp += off;
|
235
|
-
return tmp;
|
236
|
-
}
|
237
|
-
|
238
|
-
friend iterator operator+(difference_type off, const iterator& right)
|
239
|
-
{
|
240
|
-
iterator tmp(right);
|
241
|
-
tmp += off;
|
242
|
-
return tmp;
|
243
|
-
}
|
244
|
-
|
245
|
-
iterator& operator-=(difference_type off)
|
246
|
-
{ *this += -off; return *this; }
|
247
|
-
|
248
|
-
friend iterator operator-(const iterator &left, difference_type off)
|
249
|
-
{
|
250
|
-
iterator tmp(left);
|
251
|
-
tmp -= off;
|
252
|
-
return tmp;
|
253
|
-
}
|
254
|
-
|
255
|
-
friend difference_type operator-(const iterator& left, const iterator& right)
|
256
|
-
{
|
257
|
-
return left.pn->up - right.pn->up;
|
258
|
-
}
|
259
|
-
|
260
|
-
//Comparison operators
|
261
|
-
friend bool operator== (const iterator& l, const iterator& r)
|
262
|
-
{ return l.pn == r.pn; }
|
263
|
-
|
264
|
-
friend bool operator!= (const iterator& l, const iterator& r)
|
265
|
-
{ return l.pn != r.pn; }
|
266
|
-
|
267
|
-
friend bool operator< (const iterator& l, const iterator& r)
|
268
|
-
{ return l.pn->up < r.pn->up; }
|
269
|
-
|
270
|
-
friend bool operator<= (const iterator& l, const iterator& r)
|
271
|
-
{ return l.pn->up <= r.pn->up; }
|
272
|
-
|
273
|
-
friend bool operator> (const iterator& l, const iterator& r)
|
274
|
-
{ return l.pn->up > r.pn->up; }
|
275
|
-
|
276
|
-
friend bool operator>= (const iterator& l, const iterator& r)
|
277
|
-
{ return l.pn->up >= r.pn->up; }
|
278
|
-
|
279
|
-
node_ptr pn;
|
144
|
+
typename ::boost::intrusive::pointer_traits<Pointer>::element_type value;
|
280
145
|
};
|
281
146
|
|
282
147
|
template<class VoidPtr, class VoidAllocator>
|
@@ -354,7 +219,6 @@ struct index_traits
|
|
354
219
|
}
|
355
220
|
}
|
356
221
|
|
357
|
-
|
358
222
|
#ifdef STABLE_VECTOR_ENABLE_INVARIANT_CHECKING
|
359
223
|
static bool invariants(index_type &index)
|
360
224
|
{
|
@@ -373,23 +237,154 @@ struct index_traits
|
|
373
237
|
|
374
238
|
} //namespace stable_vector_detail
|
375
239
|
|
376
|
-
|
240
|
+
template<typename Pointer, bool IsConst>
|
241
|
+
class stable_vector_iterator
|
242
|
+
{
|
243
|
+
typedef boost::intrusive::pointer_traits<Pointer> non_const_ptr_traits;
|
244
|
+
public:
|
245
|
+
typedef std::random_access_iterator_tag iterator_category;
|
246
|
+
typedef typename non_const_ptr_traits::element_type value_type;
|
247
|
+
typedef typename non_const_ptr_traits::difference_type difference_type;
|
248
|
+
typedef typename ::boost::container::container_detail::if_c
|
249
|
+
< IsConst
|
250
|
+
, typename non_const_ptr_traits::template
|
251
|
+
rebind_pointer<const value_type>::type
|
252
|
+
, Pointer
|
253
|
+
>::type pointer;
|
254
|
+
typedef boost::intrusive::pointer_traits<pointer> ptr_traits;
|
255
|
+
typedef typename ptr_traits::reference reference;
|
256
|
+
|
257
|
+
private:
|
258
|
+
typedef typename non_const_ptr_traits::template
|
259
|
+
rebind_pointer<void>::type void_ptr;
|
260
|
+
typedef stable_vector_detail::node<Pointer> node_type;
|
261
|
+
typedef stable_vector_detail::node_base<void_ptr> node_base_type;
|
262
|
+
typedef typename non_const_ptr_traits::template
|
263
|
+
rebind_pointer<node_type>::type node_ptr;
|
264
|
+
typedef boost::intrusive::
|
265
|
+
pointer_traits<node_ptr> node_ptr_traits;
|
266
|
+
typedef typename non_const_ptr_traits::template
|
267
|
+
rebind_pointer<node_base_type>::type node_base_ptr;
|
268
|
+
typedef typename non_const_ptr_traits::template
|
269
|
+
rebind_pointer<node_base_ptr>::type node_base_ptr_ptr;
|
270
|
+
|
271
|
+
node_base_ptr m_pn;
|
272
|
+
|
273
|
+
public:
|
274
|
+
|
275
|
+
explicit stable_vector_iterator(node_base_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
|
276
|
+
: m_pn(p)
|
277
|
+
{}
|
278
|
+
|
279
|
+
stable_vector_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
280
|
+
: m_pn() //Value initialization to achieve "null iterators" (N3644)
|
281
|
+
{}
|
282
|
+
|
283
|
+
stable_vector_iterator(stable_vector_iterator<Pointer, false> const& other) BOOST_NOEXCEPT_OR_NOTHROW
|
284
|
+
: m_pn(other.node_pointer())
|
285
|
+
{}
|
286
|
+
|
287
|
+
node_ptr node_pointer() const BOOST_NOEXCEPT_OR_NOTHROW
|
288
|
+
{ return node_ptr_traits::static_cast_from(m_pn); }
|
289
|
+
|
290
|
+
public:
|
291
|
+
//Pointer like operators
|
292
|
+
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
293
|
+
{ return node_pointer()->value; }
|
294
|
+
|
295
|
+
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
296
|
+
{ return ptr_traits::pointer_to(this->operator*()); }
|
297
|
+
|
298
|
+
//Increment / Decrement
|
299
|
+
stable_vector_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
|
300
|
+
{
|
301
|
+
node_base_ptr_ptr p(this->m_pn->up);
|
302
|
+
this->m_pn = *(++p);
|
303
|
+
return *this;
|
304
|
+
}
|
305
|
+
|
306
|
+
stable_vector_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
307
|
+
{ stable_vector_iterator tmp(*this); ++*this; return stable_vector_iterator(tmp); }
|
308
|
+
|
309
|
+
stable_vector_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
|
310
|
+
{
|
311
|
+
node_base_ptr_ptr p(this->m_pn->up);
|
312
|
+
this->m_pn = *(--p);
|
313
|
+
return *this;
|
314
|
+
}
|
315
|
+
|
316
|
+
stable_vector_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
317
|
+
{ stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); }
|
318
|
+
|
319
|
+
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
|
320
|
+
{ return node_ptr_traits::static_cast_from(this->m_pn->up[off])->value; }
|
321
|
+
|
322
|
+
stable_vector_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
323
|
+
{
|
324
|
+
if(off) this->m_pn = this->m_pn->up[off];
|
325
|
+
return *this;
|
326
|
+
}
|
327
|
+
|
328
|
+
friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
329
|
+
{
|
330
|
+
stable_vector_iterator tmp(left);
|
331
|
+
tmp += off;
|
332
|
+
return tmp;
|
333
|
+
}
|
334
|
+
|
335
|
+
friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
|
336
|
+
{
|
337
|
+
stable_vector_iterator tmp(right);
|
338
|
+
tmp += off;
|
339
|
+
return tmp;
|
340
|
+
}
|
341
|
+
|
342
|
+
stable_vector_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
343
|
+
{ *this += -off; return *this; }
|
344
|
+
|
345
|
+
friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
346
|
+
{
|
347
|
+
stable_vector_iterator tmp(left);
|
348
|
+
tmp -= off;
|
349
|
+
return tmp;
|
350
|
+
}
|
351
|
+
|
352
|
+
friend difference_type operator-(const stable_vector_iterator &left, const stable_vector_iterator &right) BOOST_NOEXCEPT_OR_NOTHROW
|
353
|
+
{ return left.m_pn->up - right.m_pn->up; }
|
354
|
+
|
355
|
+
//Comparison operators
|
356
|
+
friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
357
|
+
{ return l.m_pn == r.m_pn; }
|
358
|
+
|
359
|
+
friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
360
|
+
{ return l.m_pn != r.m_pn; }
|
361
|
+
|
362
|
+
friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
363
|
+
{ return l.m_pn->up < r.m_pn->up; }
|
364
|
+
|
365
|
+
friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
366
|
+
{ return l.m_pn->up <= r.m_pn->up; }
|
367
|
+
|
368
|
+
friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
369
|
+
{ return l.m_pn->up > r.m_pn->up; }
|
370
|
+
|
371
|
+
friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
372
|
+
{ return l.m_pn->up >= r.m_pn->up; }
|
373
|
+
};
|
377
374
|
|
378
375
|
#if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING)
|
379
376
|
|
380
|
-
|
381
|
-
|
382
|
-
|
377
|
+
#define STABLE_VECTOR_CHECK_INVARIANT \
|
378
|
+
invariant_checker BOOST_JOIN(check_invariant_,__LINE__)(*this); \
|
379
|
+
BOOST_JOIN(check_invariant_,__LINE__).touch();
|
383
380
|
|
384
381
|
#else //STABLE_VECTOR_ENABLE_INVARIANT_CHECKING
|
385
382
|
|
386
|
-
|
383
|
+
#define STABLE_VECTOR_CHECK_INVARIANT
|
387
384
|
|
388
385
|
#endif //#if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING)
|
389
386
|
|
390
|
-
#endif //#
|
391
|
-
|
392
|
-
/// @endcond
|
387
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
393
388
|
|
394
389
|
//! Originally developed by Joaquin M. Lopez Munoz, stable_vector is a std::vector
|
395
390
|
//! drop-in replacement implemented as a node container, offering iterator and reference
|
@@ -422,17 +417,22 @@ struct index_traits
|
|
422
417
|
//!
|
423
418
|
//! Exception safety: As stable_vector does not internally copy elements around, some
|
424
419
|
//! operations provide stronger exception safety guarantees than in std::vector.
|
420
|
+
//!
|
421
|
+
//! \tparam T The type of object that is stored in the stable_vector
|
422
|
+
//! \tparam Allocator The allocator used for all internal memory management
|
425
423
|
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
426
|
-
template <class T, class Allocator =
|
424
|
+
template <class T, class Allocator = new_allocator<T> >
|
427
425
|
#else
|
428
426
|
template <class T, class Allocator>
|
429
427
|
#endif
|
430
428
|
class stable_vector
|
431
429
|
{
|
432
|
-
|
430
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
433
431
|
typedef allocator_traits<Allocator> allocator_traits_type;
|
434
|
-
typedef
|
435
|
-
|
432
|
+
typedef boost::intrusive::
|
433
|
+
pointer_traits
|
434
|
+
<typename allocator_traits_type::pointer> ptr_traits;
|
435
|
+
typedef typename ptr_traits::
|
436
436
|
template rebind_pointer<void>::type void_ptr;
|
437
437
|
typedef typename allocator_traits_type::
|
438
438
|
template portable_rebind_alloc
|
@@ -451,10 +451,8 @@ class stable_vector
|
|
451
451
|
typedef typename index_traits_type::index_iterator index_iterator;
|
452
452
|
typedef typename index_traits_type::
|
453
453
|
const_index_iterator const_index_iterator;
|
454
|
-
typedef
|
455
|
-
|
456
|
-
<typename allocator_traits_type::pointer> ptr_traits;
|
457
|
-
typedef stable_vector_detail::node<void_ptr, T> node_type;
|
454
|
+
typedef stable_vector_detail::node
|
455
|
+
<typename ptr_traits::pointer> node_type;
|
458
456
|
typedef typename ptr_traits::template
|
459
457
|
rebind_pointer<node_type>::type node_ptr;
|
460
458
|
typedef boost::intrusive::
|
@@ -466,10 +464,6 @@ class stable_vector
|
|
466
464
|
typedef typename node_ptr_traits::reference node_reference;
|
467
465
|
typedef typename const_node_ptr_traits::reference const_node_reference;
|
468
466
|
|
469
|
-
typedef ::boost::container::container_detail::
|
470
|
-
integral_constant<unsigned, 1> allocator_v1;
|
471
|
-
typedef ::boost::container::container_detail::
|
472
|
-
integral_constant<unsigned, 2> allocator_v2;
|
473
467
|
typedef ::boost::container::container_detail::integral_constant
|
474
468
|
<unsigned, boost::container::container_detail::
|
475
469
|
version<Allocator>::value> alloc_version;
|
@@ -494,15 +488,13 @@ class stable_vector
|
|
494
488
|
{ allocator_version_traits_t::deallocate_individual(this->priv_node_alloc(), holder); }
|
495
489
|
|
496
490
|
friend class stable_vector_detail::clear_on_destroy<stable_vector>;
|
497
|
-
typedef
|
498
|
-
<
|
499
|
-
,
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
, typename allocator_traits<Allocator>::const_pointer> const_iterator_impl;
|
505
|
-
///@endcond
|
491
|
+
typedef stable_vector_iterator
|
492
|
+
< typename allocator_traits<Allocator>::pointer
|
493
|
+
, false> iterator_impl;
|
494
|
+
typedef stable_vector_iterator
|
495
|
+
< typename allocator_traits<Allocator>::pointer
|
496
|
+
, true> const_iterator_impl;
|
497
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
506
498
|
public:
|
507
499
|
|
508
500
|
//////////////////////////////////////////////
|
@@ -521,10 +513,10 @@ class stable_vector
|
|
521
513
|
typedef node_allocator_type stored_allocator_type;
|
522
514
|
typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator;
|
523
515
|
typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator;
|
524
|
-
typedef BOOST_CONTAINER_IMPDEF(
|
525
|
-
typedef BOOST_CONTAINER_IMPDEF(
|
516
|
+
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<iterator>) reverse_iterator;
|
517
|
+
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
|
526
518
|
|
527
|
-
|
519
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
528
520
|
private:
|
529
521
|
BOOST_COPYABLE_AND_MOVABLE(stable_vector)
|
530
522
|
static const size_type ExtraPointers = index_traits_type::ExtraPointers;
|
@@ -534,7 +526,7 @@ class stable_vector
|
|
534
526
|
|
535
527
|
class push_back_rollback;
|
536
528
|
friend class push_back_rollback;
|
537
|
-
|
529
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
538
530
|
|
539
531
|
public:
|
540
532
|
//////////////////////////////////////////////
|
@@ -559,16 +551,16 @@ class stable_vector
|
|
559
551
|
//! <b>Throws</b>: Nothing
|
560
552
|
//!
|
561
553
|
//! <b>Complexity</b>: Constant.
|
562
|
-
explicit stable_vector(const allocator_type& al)
|
554
|
+
explicit stable_vector(const allocator_type& al) BOOST_NOEXCEPT_OR_NOTHROW
|
563
555
|
: internal_data(al), index(al)
|
564
556
|
{
|
565
557
|
STABLE_VECTOR_CHECK_INVARIANT;
|
566
558
|
}
|
567
559
|
|
568
|
-
//! <b>Effects</b>: Constructs a stable_vector
|
569
|
-
//! and inserts n
|
560
|
+
//! <b>Effects</b>: Constructs a stable_vector
|
561
|
+
//! and inserts n value initialized values.
|
570
562
|
//!
|
571
|
-
//! <b>Throws</b>: If allocator_type's default constructor
|
563
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
572
564
|
//! throws or T's default or copy constructor throws.
|
573
565
|
//!
|
574
566
|
//! <b>Complexity</b>: Linear to n.
|
@@ -581,10 +573,62 @@ class stable_vector
|
|
581
573
|
cod.release();
|
582
574
|
}
|
583
575
|
|
576
|
+
//! <b>Effects</b>: Constructs a stable_vector
|
577
|
+
//! and inserts n default initialized values.
|
578
|
+
//!
|
579
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
580
|
+
//! throws or T's default or copy constructor throws.
|
581
|
+
//!
|
582
|
+
//! <b>Complexity</b>: Linear to n.
|
583
|
+
//!
|
584
|
+
//! <b>Note</b>: Non-standard extension
|
585
|
+
stable_vector(size_type n, default_init_t)
|
586
|
+
: internal_data(), index()
|
587
|
+
{
|
588
|
+
stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
|
589
|
+
this->resize(n, default_init);
|
590
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
591
|
+
cod.release();
|
592
|
+
}
|
593
|
+
|
594
|
+
//! <b>Effects</b>: Constructs a stable_vector that will use a copy of allocator a
|
595
|
+
//! and inserts n value initialized values.
|
596
|
+
//!
|
597
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
598
|
+
//! throws or T's default or copy constructor throws.
|
599
|
+
//!
|
600
|
+
//! <b>Complexity</b>: Linear to n.
|
601
|
+
explicit stable_vector(size_type n, const allocator_type &a)
|
602
|
+
: internal_data(), index(a)
|
603
|
+
{
|
604
|
+
stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
|
605
|
+
this->resize(n);
|
606
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
607
|
+
cod.release();
|
608
|
+
}
|
609
|
+
|
610
|
+
//! <b>Effects</b>: Constructs a stable_vector that will use a copy of allocator a
|
611
|
+
//! and inserts n default initialized values.
|
612
|
+
//!
|
613
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
614
|
+
//! throws or T's default or copy constructor throws.
|
615
|
+
//!
|
616
|
+
//! <b>Complexity</b>: Linear to n.
|
617
|
+
//!
|
618
|
+
//! <b>Note</b>: Non-standard extension
|
619
|
+
stable_vector(size_type n, default_init_t, const allocator_type &a)
|
620
|
+
: internal_data(), index(a)
|
621
|
+
{
|
622
|
+
stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
|
623
|
+
this->resize(n, default_init);
|
624
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
625
|
+
cod.release();
|
626
|
+
}
|
627
|
+
|
584
628
|
//! <b>Effects</b>: Constructs a stable_vector that will use a copy of allocator a
|
585
629
|
//! and inserts n copies of value.
|
586
630
|
//!
|
587
|
-
//! <b>Throws</b>: If allocator_type's default constructor
|
631
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
588
632
|
//! throws or T's default or copy constructor throws.
|
589
633
|
//!
|
590
634
|
//! <b>Complexity</b>: Linear to n.
|
@@ -600,8 +644,8 @@ class stable_vector
|
|
600
644
|
//! <b>Effects</b>: Constructs a stable_vector that will use a copy of allocator a
|
601
645
|
//! and inserts a copy of the range [first, last) in the stable_vector.
|
602
646
|
//!
|
603
|
-
//! <b>Throws</b>: If allocator_type's default constructor
|
604
|
-
//! throws or T's constructor taking
|
647
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
648
|
+
//! throws or T's constructor taking a dereferenced InIt throws.
|
605
649
|
//!
|
606
650
|
//! <b>Complexity</b>: Linear to the range [first, last).
|
607
651
|
template <class InputIterator>
|
@@ -631,7 +675,25 @@ class stable_vector
|
|
631
675
|
cod.release();
|
632
676
|
}
|
633
677
|
|
634
|
-
|
678
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
679
|
+
//! <b>Effects</b>: Constructs a stable_vector that will use a copy of allocator a
|
680
|
+
//! and inserts a copy of the range [il.begin(), il.last()) in the stable_vector
|
681
|
+
//!
|
682
|
+
//! <b>Throws</b>: If allocator_type's default constructor
|
683
|
+
//! throws or T's constructor taking a dereferenced initializer_list iterator throws.
|
684
|
+
//!
|
685
|
+
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
686
|
+
stable_vector(std::initializer_list<value_type> il, const allocator_type& l = allocator_type())
|
687
|
+
: internal_data(l), index(l)
|
688
|
+
{
|
689
|
+
stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
|
690
|
+
insert(cend(), il.begin(), il.end());
|
691
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
692
|
+
cod.release();
|
693
|
+
}
|
694
|
+
#endif
|
695
|
+
|
696
|
+
//! <b>Effects</b>: Move constructor. Moves x's resources to *this.
|
635
697
|
//!
|
636
698
|
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
637
699
|
//!
|
@@ -657,7 +719,7 @@ class stable_vector
|
|
657
719
|
}
|
658
720
|
|
659
721
|
//! <b>Effects</b>: Move constructor using the specified allocator.
|
660
|
-
//! Moves
|
722
|
+
//! Moves x's resources to *this.
|
661
723
|
//!
|
662
724
|
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
663
725
|
//!
|
@@ -666,11 +728,12 @@ class stable_vector
|
|
666
728
|
: internal_data(a), index(a)
|
667
729
|
{
|
668
730
|
if(this->priv_node_alloc() == x.priv_node_alloc()){
|
731
|
+
this->index.swap(x.index);
|
669
732
|
this->priv_swap_members(x);
|
670
733
|
}
|
671
734
|
else{
|
672
735
|
stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
|
673
|
-
this->insert(this->cend(), x.begin(), x.end());
|
736
|
+
this->insert(this->cend(), boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end()));
|
674
737
|
STABLE_VECTOR_CHECK_INVARIANT;
|
675
738
|
cod.release();
|
676
739
|
}
|
@@ -685,7 +748,7 @@ class stable_vector
|
|
685
748
|
~stable_vector()
|
686
749
|
{
|
687
750
|
this->clear();
|
688
|
-
this->priv_clear_pool();
|
751
|
+
this->priv_clear_pool();
|
689
752
|
}
|
690
753
|
|
691
754
|
//! <b>Effects</b>: Makes *this contain the same elements as x.
|
@@ -715,39 +778,60 @@ class stable_vector
|
|
715
778
|
return *this;
|
716
779
|
}
|
717
780
|
|
718
|
-
//! <b>Effects</b>: Move assignment. All
|
781
|
+
//! <b>Effects</b>: Move assignment. All x's values are transferred to *this.
|
719
782
|
//!
|
720
783
|
//! <b>Postcondition</b>: x.empty(). *this contains a the elements x had
|
721
784
|
//! before the function.
|
722
785
|
//!
|
723
|
-
//! <b>Throws</b>: If
|
786
|
+
//! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
|
787
|
+
//! is false and (allocation throws or T's move constructor throws)
|
724
788
|
//!
|
725
|
-
//! <b>Complexity</b>:
|
789
|
+
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
790
|
+
//! propagate_on_container_move_assignment is true or
|
791
|
+
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
726
792
|
stable_vector& operator=(BOOST_RV_REF(stable_vector) x)
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
//
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
793
|
+
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|
794
|
+
|| allocator_traits_type::is_always_equal::value)
|
795
|
+
{
|
796
|
+
//for move constructor, no aliasing (&x != this) is assummed.
|
797
|
+
BOOST_ASSERT(this != &x);
|
798
|
+
node_allocator_type &this_alloc = this->priv_node_alloc();
|
799
|
+
node_allocator_type &x_alloc = x.priv_node_alloc();
|
800
|
+
const bool propagate_alloc = allocator_traits_type::
|
801
|
+
propagate_on_container_move_assignment::value;
|
802
|
+
container_detail::bool_<propagate_alloc> flag;
|
803
|
+
const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
|
804
|
+
//Resources can be transferred if both allocators are
|
805
|
+
//going to be equal after this function (either propagated or already equal)
|
806
|
+
if(propagate_alloc || allocators_equal){
|
807
|
+
STABLE_VECTOR_CHECK_INVARIANT
|
808
|
+
//Destroy objects but retain memory in case x reuses it in the future
|
809
|
+
this->clear();
|
810
|
+
//Move allocator if needed
|
811
|
+
container_detail::move_alloc(this_alloc, x_alloc, flag);
|
812
|
+
//Take resources
|
813
|
+
this->index.swap(x.index);
|
814
|
+
this->priv_swap_members(x);
|
815
|
+
}
|
816
|
+
//Else do a one by one move
|
817
|
+
else{
|
818
|
+
this->assign( boost::make_move_iterator(x.begin())
|
819
|
+
, boost::make_move_iterator(x.end()));
|
747
820
|
}
|
748
821
|
return *this;
|
749
822
|
}
|
750
823
|
|
824
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
825
|
+
//! <b>Effects</b>: Make *this container contains elements from il.
|
826
|
+
//!
|
827
|
+
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
828
|
+
stable_vector& operator=(std::initializer_list<value_type> il)
|
829
|
+
{
|
830
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
831
|
+
assign(il.begin(), il.end());
|
832
|
+
return *this;
|
833
|
+
}
|
834
|
+
#endif
|
751
835
|
|
752
836
|
//! <b>Effects</b>: Assigns the n copies of val to *this.
|
753
837
|
//!
|
@@ -767,13 +851,12 @@ class stable_vector
|
|
767
851
|
//!
|
768
852
|
//! <b>Complexity</b>: Linear to n.
|
769
853
|
template<typename InputIterator>
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
)
|
854
|
+
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
855
|
+
typename container_detail::disable_if_convertible<InputIterator, size_type>::type
|
856
|
+
#else
|
857
|
+
void
|
858
|
+
#endif
|
859
|
+
assign(InputIterator first,InputIterator last)
|
777
860
|
{
|
778
861
|
STABLE_VECTOR_CHECK_INVARIANT;
|
779
862
|
iterator first1 = this->begin();
|
@@ -788,6 +871,19 @@ class stable_vector
|
|
788
871
|
}
|
789
872
|
}
|
790
873
|
|
874
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
875
|
+
//! <b>Effects</b>: Assigns the the range [il.begin(), il.end()) to *this.
|
876
|
+
//!
|
877
|
+
//! <b>Throws</b>: If memory allocation throws or
|
878
|
+
//! T's constructor from dereferencing initializer_list iterator throws.
|
879
|
+
//!
|
880
|
+
void assign(std::initializer_list<value_type> il)
|
881
|
+
{
|
882
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
883
|
+
assign(il.begin(), il.end());
|
884
|
+
}
|
885
|
+
#endif
|
886
|
+
|
791
887
|
//! <b>Effects</b>: Returns a copy of the internal allocator.
|
792
888
|
//!
|
793
889
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
@@ -803,7 +899,7 @@ class stable_vector
|
|
803
899
|
//! <b>Complexity</b>: Constant.
|
804
900
|
//!
|
805
901
|
//! <b>Note</b>: Non-standard extension.
|
806
|
-
const stored_allocator_type &get_stored_allocator() const
|
902
|
+
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
807
903
|
{ return this->priv_node_alloc(); }
|
808
904
|
|
809
905
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
@@ -813,7 +909,7 @@ class stable_vector
|
|
813
909
|
//! <b>Complexity</b>: Constant.
|
814
910
|
//!
|
815
911
|
//! <b>Note</b>: Non-standard extension.
|
816
|
-
stored_allocator_type &get_stored_allocator()
|
912
|
+
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
817
913
|
{ return this->priv_node_alloc(); }
|
818
914
|
|
819
915
|
//////////////////////////////////////////////
|
@@ -827,7 +923,7 @@ class stable_vector
|
|
827
923
|
//! <b>Throws</b>: Nothing.
|
828
924
|
//!
|
829
925
|
//! <b>Complexity</b>: Constant.
|
830
|
-
iterator begin()
|
926
|
+
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
831
927
|
{ return (this->index.empty()) ? this->end(): iterator(node_ptr_traits::static_cast_from(this->index.front())); }
|
832
928
|
|
833
929
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the stable_vector.
|
@@ -835,7 +931,7 @@ class stable_vector
|
|
835
931
|
//! <b>Throws</b>: Nothing.
|
836
932
|
//!
|
837
933
|
//! <b>Complexity</b>: Constant.
|
838
|
-
const_iterator begin() const
|
934
|
+
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
839
935
|
{ return (this->index.empty()) ? this->cend() : const_iterator(node_ptr_traits::static_cast_from(this->index.front())) ; }
|
840
936
|
|
841
937
|
//! <b>Effects</b>: Returns an iterator to the end of the stable_vector.
|
@@ -843,7 +939,7 @@ class stable_vector
|
|
843
939
|
//! <b>Throws</b>: Nothing.
|
844
940
|
//!
|
845
941
|
//! <b>Complexity</b>: Constant.
|
846
|
-
iterator end()
|
942
|
+
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
847
943
|
{ return iterator(this->priv_get_end_node()); }
|
848
944
|
|
849
945
|
//! <b>Effects</b>: Returns a const_iterator to the end of the stable_vector.
|
@@ -851,7 +947,7 @@ class stable_vector
|
|
851
947
|
//! <b>Throws</b>: Nothing.
|
852
948
|
//!
|
853
949
|
//! <b>Complexity</b>: Constant.
|
854
|
-
const_iterator end() const
|
950
|
+
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
855
951
|
{ return const_iterator(this->priv_get_end_node()); }
|
856
952
|
|
857
953
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
@@ -860,7 +956,7 @@ class stable_vector
|
|
860
956
|
//! <b>Throws</b>: Nothing.
|
861
957
|
//!
|
862
958
|
//! <b>Complexity</b>: Constant.
|
863
|
-
reverse_iterator rbegin()
|
959
|
+
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
864
960
|
{ return reverse_iterator(this->end()); }
|
865
961
|
|
866
962
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
@@ -869,7 +965,7 @@ class stable_vector
|
|
869
965
|
//! <b>Throws</b>: Nothing.
|
870
966
|
//!
|
871
967
|
//! <b>Complexity</b>: Constant.
|
872
|
-
const_reverse_iterator rbegin() const
|
968
|
+
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
873
969
|
{ return const_reverse_iterator(this->end()); }
|
874
970
|
|
875
971
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
@@ -878,7 +974,7 @@ class stable_vector
|
|
878
974
|
//! <b>Throws</b>: Nothing.
|
879
975
|
//!
|
880
976
|
//! <b>Complexity</b>: Constant.
|
881
|
-
reverse_iterator rend()
|
977
|
+
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
882
978
|
{ return reverse_iterator(this->begin()); }
|
883
979
|
|
884
980
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
@@ -887,7 +983,7 @@ class stable_vector
|
|
887
983
|
//! <b>Throws</b>: Nothing.
|
888
984
|
//!
|
889
985
|
//! <b>Complexity</b>: Constant.
|
890
|
-
const_reverse_iterator rend() const
|
986
|
+
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
891
987
|
{ return const_reverse_iterator(this->begin()); }
|
892
988
|
|
893
989
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the stable_vector.
|
@@ -895,7 +991,7 @@ class stable_vector
|
|
895
991
|
//! <b>Throws</b>: Nothing.
|
896
992
|
//!
|
897
993
|
//! <b>Complexity</b>: Constant.
|
898
|
-
const_iterator cbegin() const
|
994
|
+
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
899
995
|
{ return this->begin(); }
|
900
996
|
|
901
997
|
//! <b>Effects</b>: Returns a const_iterator to the end of the stable_vector.
|
@@ -903,7 +999,7 @@ class stable_vector
|
|
903
999
|
//! <b>Throws</b>: Nothing.
|
904
1000
|
//!
|
905
1001
|
//! <b>Complexity</b>: Constant.
|
906
|
-
const_iterator cend() const
|
1002
|
+
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
907
1003
|
{ return this->end(); }
|
908
1004
|
|
909
1005
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
@@ -912,7 +1008,7 @@ class stable_vector
|
|
912
1008
|
//! <b>Throws</b>: Nothing.
|
913
1009
|
//!
|
914
1010
|
//! <b>Complexity</b>: Constant.
|
915
|
-
const_reverse_iterator crbegin() const
|
1011
|
+
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
916
1012
|
{ return this->rbegin(); }
|
917
1013
|
|
918
1014
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
@@ -921,7 +1017,7 @@ class stable_vector
|
|
921
1017
|
//! <b>Throws</b>: Nothing.
|
922
1018
|
//!
|
923
1019
|
//! <b>Complexity</b>: Constant.
|
924
|
-
const_reverse_iterator crend()const
|
1020
|
+
const_reverse_iterator crend()const BOOST_NOEXCEPT_OR_NOTHROW
|
925
1021
|
{ return this->rend(); }
|
926
1022
|
|
927
1023
|
//////////////////////////////////////////////
|
@@ -935,7 +1031,7 @@ class stable_vector
|
|
935
1031
|
//! <b>Throws</b>: Nothing.
|
936
1032
|
//!
|
937
1033
|
//! <b>Complexity</b>: Constant.
|
938
|
-
bool empty() const
|
1034
|
+
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
939
1035
|
{ return this->index.size() <= ExtraPointers; }
|
940
1036
|
|
941
1037
|
//! <b>Effects</b>: Returns the number of the elements contained in the stable_vector.
|
@@ -943,10 +1039,10 @@ class stable_vector
|
|
943
1039
|
//! <b>Throws</b>: Nothing.
|
944
1040
|
//!
|
945
1041
|
//! <b>Complexity</b>: Constant.
|
946
|
-
size_type size() const
|
1042
|
+
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
947
1043
|
{
|
948
1044
|
const size_type index_size = this->index.size();
|
949
|
-
return (index_size - ExtraPointers) & (
|
1045
|
+
return (index_size - ExtraPointers) & (size_type(0u) -size_type(index_size != 0));
|
950
1046
|
}
|
951
1047
|
|
952
1048
|
//! <b>Effects</b>: Returns the largest possible size of the stable_vector.
|
@@ -954,21 +1050,39 @@ class stable_vector
|
|
954
1050
|
//! <b>Throws</b>: Nothing.
|
955
1051
|
//!
|
956
1052
|
//! <b>Complexity</b>: Constant.
|
957
|
-
size_type max_size() const
|
1053
|
+
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
958
1054
|
{ return this->index.max_size() - ExtraPointers; }
|
959
1055
|
|
960
1056
|
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
961
|
-
//! the size becomes n. New elements are
|
1057
|
+
//! the size becomes n. New elements are value initialized.
|
962
1058
|
//!
|
963
|
-
//! <b>Throws</b>: If memory allocation throws, or T's
|
1059
|
+
//! <b>Throws</b>: If memory allocation throws, or T's value initialization throws.
|
964
1060
|
//!
|
965
1061
|
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
966
1062
|
void resize(size_type n)
|
967
1063
|
{
|
968
|
-
typedef
|
1064
|
+
typedef value_init_construct_iterator<value_type, difference_type> value_init_iterator;
|
1065
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
1066
|
+
if(n > this->size())
|
1067
|
+
this->insert(this->cend(), value_init_iterator(n - this->size()), value_init_iterator());
|
1068
|
+
else if(n < this->size())
|
1069
|
+
this->erase(this->cbegin() + n, this->cend());
|
1070
|
+
}
|
1071
|
+
|
1072
|
+
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
1073
|
+
//! the size becomes n. New elements are default initialized.
|
1074
|
+
//!
|
1075
|
+
//! <b>Throws</b>: If memory allocation throws, or T's default initialization throws.
|
1076
|
+
//!
|
1077
|
+
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
1078
|
+
//!
|
1079
|
+
//! <b>Note</b>: Non-standard extension
|
1080
|
+
void resize(size_type n, default_init_t)
|
1081
|
+
{
|
1082
|
+
typedef default_init_construct_iterator<value_type, difference_type> default_init_iterator;
|
969
1083
|
STABLE_VECTOR_CHECK_INVARIANT;
|
970
1084
|
if(n > this->size())
|
971
|
-
this->insert(this->cend(),
|
1085
|
+
this->insert(this->cend(), default_init_iterator(n - this->size()), default_init_iterator());
|
972
1086
|
else if(n < this->size())
|
973
1087
|
this->erase(this->cbegin() + n, this->cend());
|
974
1088
|
}
|
@@ -994,17 +1108,16 @@ class stable_vector
|
|
994
1108
|
//! <b>Throws</b>: Nothing.
|
995
1109
|
//!
|
996
1110
|
//! <b>Complexity</b>: Constant.
|
997
|
-
size_type capacity() const
|
1111
|
+
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
998
1112
|
{
|
999
1113
|
const size_type index_size = this->index.size();
|
1000
1114
|
BOOST_ASSERT(!index_size || index_size >= ExtraPointers);
|
1001
|
-
const size_type bucket_extra_capacity = this->index.capacity()- index_size;
|
1002
1115
|
const size_type node_extra_capacity = this->internal_data.pool_size;
|
1003
|
-
|
1004
|
-
|
1116
|
+
//Pool count must be less than index capacity, as index is a vector
|
1117
|
+
BOOST_ASSERT(node_extra_capacity <= (this->index.capacity()- index_size));
|
1005
1118
|
const size_type index_offset =
|
1006
|
-
(
|
1007
|
-
return index_size
|
1119
|
+
(node_extra_capacity - ExtraPointers) & (size_type(0u) - size_type(index_size != 0));
|
1120
|
+
return index_size + index_offset;
|
1008
1121
|
}
|
1009
1122
|
|
1010
1123
|
//! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
|
@@ -1020,7 +1133,7 @@ class stable_vector
|
|
1020
1133
|
throw_length_error("stable_vector::reserve max_size() exceeded");
|
1021
1134
|
}
|
1022
1135
|
|
1023
|
-
size_type sz = this->size();
|
1136
|
+
size_type sz = this->size();
|
1024
1137
|
size_type old_capacity = this->capacity();
|
1025
1138
|
if(n > old_capacity){
|
1026
1139
|
index_traits_type::initialize_end_node(this->index, this->internal_data.end_node, n);
|
@@ -1082,8 +1195,11 @@ class stable_vector
|
|
1082
1195
|
//! <b>Throws</b>: Nothing.
|
1083
1196
|
//!
|
1084
1197
|
//! <b>Complexity</b>: Constant.
|
1085
|
-
reference front()
|
1086
|
-
{
|
1198
|
+
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
1199
|
+
{
|
1200
|
+
BOOST_ASSERT(!this->empty());
|
1201
|
+
return static_cast<node_reference>(*this->index.front()).value;
|
1202
|
+
}
|
1087
1203
|
|
1088
1204
|
//! <b>Requires</b>: !empty()
|
1089
1205
|
//!
|
@@ -1093,8 +1209,11 @@ class stable_vector
|
|
1093
1209
|
//! <b>Throws</b>: Nothing.
|
1094
1210
|
//!
|
1095
1211
|
//! <b>Complexity</b>: Constant.
|
1096
|
-
const_reference front() const
|
1097
|
-
{
|
1212
|
+
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
1213
|
+
{
|
1214
|
+
BOOST_ASSERT(!this->empty());
|
1215
|
+
return static_cast<const_node_reference>(*this->index.front()).value;
|
1216
|
+
}
|
1098
1217
|
|
1099
1218
|
//! <b>Requires</b>: !empty()
|
1100
1219
|
//!
|
@@ -1104,8 +1223,11 @@ class stable_vector
|
|
1104
1223
|
//! <b>Throws</b>: Nothing.
|
1105
1224
|
//!
|
1106
1225
|
//! <b>Complexity</b>: Constant.
|
1107
|
-
reference back()
|
1108
|
-
{
|
1226
|
+
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
1227
|
+
{
|
1228
|
+
BOOST_ASSERT(!this->empty());
|
1229
|
+
return static_cast<node_reference>(*this->index[this->size()-1u]).value;
|
1230
|
+
}
|
1109
1231
|
|
1110
1232
|
//! <b>Requires</b>: !empty()
|
1111
1233
|
//!
|
@@ -1115,8 +1237,11 @@ class stable_vector
|
|
1115
1237
|
//! <b>Throws</b>: Nothing.
|
1116
1238
|
//!
|
1117
1239
|
//! <b>Complexity</b>: Constant.
|
1118
|
-
const_reference back() const
|
1119
|
-
{
|
1240
|
+
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
1241
|
+
{
|
1242
|
+
BOOST_ASSERT(!this->empty());
|
1243
|
+
return static_cast<const_node_reference>(*this->index[this->size()-1u]).value;
|
1244
|
+
}
|
1120
1245
|
|
1121
1246
|
//! <b>Requires</b>: size() > n.
|
1122
1247
|
//!
|
@@ -1126,9 +1251,9 @@ class stable_vector
|
|
1126
1251
|
//! <b>Throws</b>: Nothing.
|
1127
1252
|
//!
|
1128
1253
|
//! <b>Complexity</b>: Constant.
|
1129
|
-
reference operator[](size_type n)
|
1254
|
+
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
1130
1255
|
{
|
1131
|
-
BOOST_ASSERT(
|
1256
|
+
BOOST_ASSERT(this->size() > n);
|
1132
1257
|
return static_cast<node_reference>(*this->index[n]).value;
|
1133
1258
|
}
|
1134
1259
|
|
@@ -1140,12 +1265,72 @@ class stable_vector
|
|
1140
1265
|
//! <b>Throws</b>: Nothing.
|
1141
1266
|
//!
|
1142
1267
|
//! <b>Complexity</b>: Constant.
|
1143
|
-
const_reference operator[](size_type n) const
|
1268
|
+
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
1144
1269
|
{
|
1145
|
-
BOOST_ASSERT(
|
1270
|
+
BOOST_ASSERT(this->size() > n);
|
1146
1271
|
return static_cast<const_node_reference>(*this->index[n]).value;
|
1147
1272
|
}
|
1148
1273
|
|
1274
|
+
//! <b>Requires</b>: size() >= n.
|
1275
|
+
//!
|
1276
|
+
//! <b>Effects</b>: Returns an iterator to the nth element
|
1277
|
+
//! from the beginning of the container. Returns end()
|
1278
|
+
//! if n == size().
|
1279
|
+
//!
|
1280
|
+
//! <b>Throws</b>: Nothing.
|
1281
|
+
//!
|
1282
|
+
//! <b>Complexity</b>: Constant.
|
1283
|
+
//!
|
1284
|
+
//! <b>Note</b>: Non-standard extension
|
1285
|
+
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
1286
|
+
{
|
1287
|
+
BOOST_ASSERT(this->size() >= n);
|
1288
|
+
return (this->index.empty()) ? this->end() : iterator(node_ptr_traits::static_cast_from(this->index[n]));
|
1289
|
+
}
|
1290
|
+
|
1291
|
+
//! <b>Requires</b>: size() >= n.
|
1292
|
+
//!
|
1293
|
+
//! <b>Effects</b>: Returns a const_iterator to the nth element
|
1294
|
+
//! from the beginning of the container. Returns end()
|
1295
|
+
//! if n == size().
|
1296
|
+
//!
|
1297
|
+
//! <b>Throws</b>: Nothing.
|
1298
|
+
//!
|
1299
|
+
//! <b>Complexity</b>: Constant.
|
1300
|
+
//!
|
1301
|
+
//! <b>Note</b>: Non-standard extension
|
1302
|
+
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
1303
|
+
{
|
1304
|
+
BOOST_ASSERT(this->size() >= n);
|
1305
|
+
return (this->index.empty()) ? this->cend() : iterator(node_ptr_traits::static_cast_from(this->index[n]));
|
1306
|
+
}
|
1307
|
+
|
1308
|
+
//! <b>Requires</b>: begin() <= p <= end().
|
1309
|
+
//!
|
1310
|
+
//! <b>Effects</b>: Returns the index of the element pointed by p
|
1311
|
+
//! and size() if p == end().
|
1312
|
+
//!
|
1313
|
+
//! <b>Throws</b>: Nothing.
|
1314
|
+
//!
|
1315
|
+
//! <b>Complexity</b>: Constant.
|
1316
|
+
//!
|
1317
|
+
//! <b>Note</b>: Non-standard extension
|
1318
|
+
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
1319
|
+
{ return this->priv_index_of(p.node_pointer()); }
|
1320
|
+
|
1321
|
+
//! <b>Requires</b>: begin() <= p <= end().
|
1322
|
+
//!
|
1323
|
+
//! <b>Effects</b>: Returns the index of the element pointed by p
|
1324
|
+
//! and size() if p == end().
|
1325
|
+
//!
|
1326
|
+
//! <b>Throws</b>: Nothing.
|
1327
|
+
//!
|
1328
|
+
//! <b>Complexity</b>: Constant.
|
1329
|
+
//!
|
1330
|
+
//! <b>Note</b>: Non-standard extension
|
1331
|
+
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
1332
|
+
{ return this->priv_index_of(p.node_pointer()); }
|
1333
|
+
|
1149
1334
|
//! <b>Requires</b>: size() > n.
|
1150
1335
|
//!
|
1151
1336
|
//! <b>Effects</b>: Returns a reference to the nth element
|
@@ -1184,7 +1369,7 @@ class stable_vector
|
|
1184
1369
|
//
|
1185
1370
|
//////////////////////////////////////////////
|
1186
1371
|
|
1187
|
-
#if defined(
|
1372
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1188
1373
|
|
1189
1374
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
1190
1375
|
//! std::forward<Args>(args)... in the end of the stable_vector.
|
@@ -1201,63 +1386,57 @@ class stable_vector
|
|
1201
1386
|
this->insert(this->cend(), EmplaceIterator(ef), EmplaceIterator());
|
1202
1387
|
}
|
1203
1388
|
|
1204
|
-
//! <b>Requires</b>:
|
1389
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
1205
1390
|
//!
|
1206
1391
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
1207
|
-
//! std::forward<Args>(args)... before
|
1392
|
+
//! std::forward<Args>(args)... before p
|
1208
1393
|
//!
|
1209
1394
|
//! <b>Throws</b>: If memory allocation throws or the in-place constructor throws.
|
1210
1395
|
//!
|
1211
|
-
//! <b>Complexity</b>: If
|
1396
|
+
//! <b>Complexity</b>: If p is end(), amortized constant time
|
1212
1397
|
//! Linear time otherwise.
|
1213
1398
|
template<class ...Args>
|
1214
|
-
iterator emplace(const_iterator
|
1399
|
+
iterator emplace(const_iterator p, Args && ...args)
|
1215
1400
|
{
|
1216
|
-
|
1217
|
-
size_type pos_n =
|
1401
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
1402
|
+
size_type pos_n = p - cbegin();
|
1218
1403
|
typedef emplace_functor<Args...> EmplaceFunctor;
|
1219
1404
|
typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;
|
1220
1405
|
EmplaceFunctor &&ef = EmplaceFunctor(boost::forward<Args>(args)...);
|
1221
|
-
this->insert(
|
1406
|
+
this->insert(p, EmplaceIterator(ef), EmplaceIterator());
|
1222
1407
|
return iterator(this->begin() + pos_n);
|
1223
1408
|
}
|
1224
1409
|
|
1225
1410
|
#else
|
1226
1411
|
|
1227
|
-
#define
|
1228
|
-
|
1229
|
-
void emplace_back(
|
1230
|
-
{
|
1231
|
-
typedef
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
|
1252
|
-
|
1253
|
-
|
1254
|
-
|
1255
|
-
} \
|
1256
|
-
//!
|
1257
|
-
#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS)
|
1258
|
-
#include BOOST_PP_LOCAL_ITERATE()
|
1259
|
-
|
1260
|
-
#endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
|
1412
|
+
#define BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE(N) \
|
1413
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1414
|
+
void emplace_back(BOOST_MOVE_UREF##N)\
|
1415
|
+
{\
|
1416
|
+
typedef emplace_functor##N\
|
1417
|
+
BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\
|
1418
|
+
typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;\
|
1419
|
+
EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\
|
1420
|
+
this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator());\
|
1421
|
+
}\
|
1422
|
+
\
|
1423
|
+
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1424
|
+
iterator emplace(const_iterator p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
1425
|
+
{\
|
1426
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));\
|
1427
|
+
typedef emplace_functor##N\
|
1428
|
+
BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\
|
1429
|
+
typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;\
|
1430
|
+
EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\
|
1431
|
+
const size_type pos_n = p - this->cbegin();\
|
1432
|
+
this->insert(p, EmplaceIterator(ef), EmplaceIterator());\
|
1433
|
+
return this->begin() += pos_n;\
|
1434
|
+
}\
|
1435
|
+
//
|
1436
|
+
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE)
|
1437
|
+
#undef BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE
|
1438
|
+
|
1439
|
+
#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
1261
1440
|
|
1262
1441
|
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1263
1442
|
//! <b>Effects</b>: Inserts a copy of x at the end of the stable_vector.
|
@@ -1269,7 +1448,7 @@ class stable_vector
|
|
1269
1448
|
void push_back(const T &x);
|
1270
1449
|
|
1271
1450
|
//! <b>Effects</b>: Constructs a new element in the end of the stable_vector
|
1272
|
-
//! and moves the resources of
|
1451
|
+
//! and moves the resources of x to this new element.
|
1273
1452
|
//!
|
1274
1453
|
//! <b>Throws</b>: If memory allocation throws.
|
1275
1454
|
//!
|
@@ -1280,115 +1459,138 @@ class stable_vector
|
|
1280
1459
|
#endif
|
1281
1460
|
|
1282
1461
|
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1283
|
-
//! <b>Requires</b>:
|
1462
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
1284
1463
|
//!
|
1285
|
-
//! <b>Effects</b>: Insert a copy of x before
|
1464
|
+
//! <b>Effects</b>: Insert a copy of x before p.
|
1286
1465
|
//!
|
1287
1466
|
//! <b>Returns</b>: An iterator to the inserted element.
|
1288
1467
|
//!
|
1289
1468
|
//! <b>Throws</b>: If memory allocation throws or x's copy constructor throws.
|
1290
1469
|
//!
|
1291
|
-
//! <b>Complexity</b>: If
|
1470
|
+
//! <b>Complexity</b>: If p is end(), amortized constant time
|
1292
1471
|
//! Linear time otherwise.
|
1293
|
-
iterator insert(const_iterator
|
1472
|
+
iterator insert(const_iterator p, const T &x);
|
1294
1473
|
|
1295
|
-
//! <b>Requires</b>:
|
1474
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
1296
1475
|
//!
|
1297
|
-
//! <b>Effects</b>: Insert a new element before
|
1476
|
+
//! <b>Effects</b>: Insert a new element before p with x's resources.
|
1298
1477
|
//!
|
1299
1478
|
//! <b>Returns</b>: an iterator to the inserted element.
|
1300
1479
|
//!
|
1301
1480
|
//! <b>Throws</b>: If memory allocation throws.
|
1302
1481
|
//!
|
1303
|
-
//! <b>Complexity</b>: If
|
1482
|
+
//! <b>Complexity</b>: If p is end(), amortized constant time
|
1304
1483
|
//! Linear time otherwise.
|
1305
|
-
iterator insert(const_iterator
|
1484
|
+
iterator insert(const_iterator p, T &&x);
|
1306
1485
|
#else
|
1307
|
-
BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator)
|
1486
|
+
BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator)
|
1308
1487
|
#endif
|
1309
1488
|
|
1310
|
-
//! <b>Requires</b>:
|
1489
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
1311
1490
|
//!
|
1312
|
-
//! <b>Effects</b>: Insert n copies of x before
|
1491
|
+
//! <b>Effects</b>: Insert n copies of x before p.
|
1313
1492
|
//!
|
1314
|
-
//! <b>Returns</b>: an iterator to the first inserted element or
|
1493
|
+
//! <b>Returns</b>: an iterator to the first inserted element or p if n is 0.
|
1315
1494
|
//!
|
1316
1495
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
1317
1496
|
//!
|
1318
1497
|
//! <b>Complexity</b>: Linear to n.
|
1319
|
-
iterator insert(const_iterator
|
1498
|
+
iterator insert(const_iterator p, size_type n, const T& t)
|
1320
1499
|
{
|
1500
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
1321
1501
|
STABLE_VECTOR_CHECK_INVARIANT;
|
1322
1502
|
typedef constant_iterator<value_type, difference_type> cvalue_iterator;
|
1323
|
-
return this->insert(
|
1503
|
+
return this->insert(p, cvalue_iterator(t, n), cvalue_iterator());
|
1504
|
+
}
|
1505
|
+
|
1506
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
1507
|
+
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1508
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
1509
|
+
//!
|
1510
|
+
//! <b>Effects</b>: Insert a copy of the [il.begin(), il.end()) range before p.
|
1511
|
+
//!
|
1512
|
+
//! <b>Returns</b>: an iterator to the first inserted element or p if first == last.
|
1513
|
+
//!
|
1514
|
+
//! <b>Complexity</b>: Linear to distance [il.begin(), il.end()).
|
1515
|
+
iterator insert(const_iterator p, std::initializer_list<value_type> il)
|
1516
|
+
{
|
1517
|
+
//Position checks done by insert()
|
1518
|
+
STABLE_VECTOR_CHECK_INVARIANT;
|
1519
|
+
return insert(p, il.begin(), il.end());
|
1324
1520
|
}
|
1521
|
+
#endif
|
1325
1522
|
|
1326
1523
|
//! <b>Requires</b>: pos must be a valid iterator of *this.
|
1327
1524
|
//!
|
1328
|
-
//! <b>Effects</b>: Insert a copy of the [first, last) range before
|
1525
|
+
//! <b>Effects</b>: Insert a copy of the [first, last) range before p.
|
1329
1526
|
//!
|
1330
|
-
//! <b>Returns</b>: an iterator to the first inserted element or
|
1527
|
+
//! <b>Returns</b>: an iterator to the first inserted element or p if first == last.
|
1331
1528
|
//!
|
1332
1529
|
//! <b>Throws</b>: If memory allocation throws, T's constructor from a
|
1333
1530
|
//! dereferenced InpIt throws or T's copy constructor throws.
|
1334
1531
|
//!
|
1335
|
-
//! <b>Complexity</b>: Linear to
|
1532
|
+
//! <b>Complexity</b>: Linear to distance [first, last).
|
1336
1533
|
template <class InputIterator>
|
1337
|
-
iterator insert(const_iterator
|
1338
|
-
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1534
|
+
iterator insert(const_iterator p, InputIterator first, InputIterator last
|
1535
|
+
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1536
|
+
//Put this as argument instead of the return type as old GCC's like 3.4
|
1537
|
+
//detect this and the next disable_if_or as overloads
|
1538
|
+
, typename container_detail::disable_if_or
|
1539
|
+
< void
|
1540
|
+
, container_detail::is_convertible<InputIterator, size_type>
|
1541
|
+
, container_detail::is_not_input_iterator<InputIterator>
|
1542
|
+
>::type* = 0
|
1543
|
+
#endif
|
1544
|
+
)
|
1545
|
+
{
|
1546
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
1346
1547
|
STABLE_VECTOR_CHECK_INVARIANT;
|
1347
|
-
const size_type pos_n =
|
1548
|
+
const size_type pos_n = p - this->cbegin();
|
1348
1549
|
for(; first != last; ++first){
|
1349
|
-
this->emplace(
|
1550
|
+
this->emplace(p, *first);
|
1350
1551
|
}
|
1351
1552
|
return this->begin() + pos_n;
|
1352
1553
|
}
|
1353
1554
|
|
1354
1555
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
1355
1556
|
template <class FwdIt>
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1361
|
-
)
|
1362
|
-
{
|
1363
|
-
|
1364
|
-
const size_type
|
1557
|
+
typename container_detail::disable_if_or
|
1558
|
+
< iterator
|
1559
|
+
, container_detail::is_convertible<FwdIt, size_type>
|
1560
|
+
, container_detail::is_input_iterator<FwdIt>
|
1561
|
+
>::type
|
1562
|
+
insert(const_iterator p, FwdIt first, FwdIt last)
|
1563
|
+
{
|
1564
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
1565
|
+
const size_type num_new = static_cast<size_type>(boost::container::iterator_distance(first, last));
|
1566
|
+
const size_type idx = static_cast<size_type>(p - this->cbegin());
|
1365
1567
|
if(num_new){
|
1366
|
-
//Fills the node pool and inserts num_new null pointers in
|
1367
|
-
//If a new buffer was needed fixes up pointers up to
|
1568
|
+
//Fills the node pool and inserts num_new null pointers in idx.
|
1569
|
+
//If a new buffer was needed fixes up pointers up to idx so
|
1368
1570
|
//past-new nodes are not aligned until the end of this function
|
1369
1571
|
//or in a rollback in case of exception
|
1370
|
-
index_iterator it_past_newly_constructed(this->priv_insert_forward_non_templated(
|
1572
|
+
index_iterator it_past_newly_constructed(this->priv_insert_forward_non_templated(idx, num_new));
|
1371
1573
|
const index_iterator it_past_new(it_past_newly_constructed + num_new);
|
1372
1574
|
{
|
1373
1575
|
//Prepare rollback
|
1374
1576
|
insert_rollback rollback(*this, it_past_newly_constructed, it_past_new);
|
1375
1577
|
while(first != last){
|
1376
|
-
const node_ptr
|
1377
|
-
BOOST_ASSERT(!!
|
1578
|
+
const node_ptr n = this->priv_get_from_pool();
|
1579
|
+
BOOST_ASSERT(!!n);
|
1378
1580
|
//Put it in the index so rollback can return it in pool if construct_in_place throws
|
1379
|
-
*it_past_newly_constructed =
|
1581
|
+
*it_past_newly_constructed = n;
|
1380
1582
|
//Constructs and fixes up pointers This can throw
|
1381
|
-
this->priv_build_node_from_it(
|
1583
|
+
this->priv_build_node_from_it(n, it_past_newly_constructed, first);
|
1382
1584
|
++first;
|
1383
1585
|
++it_past_newly_constructed;
|
1384
1586
|
}
|
1385
1587
|
//rollback.~insert_rollback() called in case of exception
|
1386
1588
|
}
|
1387
1589
|
//Fix up pointers for past-new nodes (new nodes were fixed during construction) and
|
1388
|
-
//nodes before insertion
|
1590
|
+
//nodes before insertion p in priv_insert_forward_non_templated(...)
|
1389
1591
|
index_traits_type::fix_up_pointers_from(this->index, it_past_newly_constructed);
|
1390
1592
|
}
|
1391
|
-
return this->begin() +
|
1593
|
+
return this->begin() + idx;
|
1392
1594
|
}
|
1393
1595
|
#endif
|
1394
1596
|
|
@@ -1397,21 +1599,25 @@ class stable_vector
|
|
1397
1599
|
//! <b>Throws</b>: Nothing.
|
1398
1600
|
//!
|
1399
1601
|
//! <b>Complexity</b>: Constant time.
|
1400
|
-
void pop_back()
|
1401
|
-
{
|
1602
|
+
void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
|
1603
|
+
{
|
1604
|
+
BOOST_ASSERT(!this->empty());
|
1605
|
+
this->erase(--this->cend());
|
1606
|
+
}
|
1402
1607
|
|
1403
|
-
//! <b>Effects</b>: Erases the element at
|
1608
|
+
//! <b>Effects</b>: Erases the element at p.
|
1404
1609
|
//!
|
1405
1610
|
//! <b>Throws</b>: Nothing.
|
1406
1611
|
//!
|
1407
|
-
//! <b>Complexity</b>: Linear to the elements between
|
1408
|
-
//! last element. Constant if
|
1409
|
-
iterator erase(const_iterator
|
1612
|
+
//! <b>Complexity</b>: Linear to the elements between p and the
|
1613
|
+
//! last element. Constant if p is the last element.
|
1614
|
+
iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
1410
1615
|
{
|
1616
|
+
BOOST_ASSERT(this->priv_in_range(p));
|
1411
1617
|
STABLE_VECTOR_CHECK_INVARIANT;
|
1412
|
-
const size_type d =
|
1618
|
+
const size_type d = p - this->cbegin();
|
1413
1619
|
index_iterator it = this->index.begin() + d;
|
1414
|
-
this->priv_delete_node(
|
1620
|
+
this->priv_delete_node(p.node_pointer());
|
1415
1621
|
it = this->index.erase(it);
|
1416
1622
|
index_traits_type::fix_up_pointers_from(this->index, it);
|
1417
1623
|
return iterator(node_ptr_traits::static_cast_from(*it));
|
@@ -1422,9 +1628,11 @@ class stable_vector
|
|
1422
1628
|
//! <b>Throws</b>: Nothing.
|
1423
1629
|
//!
|
1424
1630
|
//! <b>Complexity</b>: Linear to the distance between first and last
|
1425
|
-
//! plus linear to the elements between
|
1426
|
-
iterator erase(const_iterator first, const_iterator last)
|
1631
|
+
//! plus linear to the elements between p and the last element.
|
1632
|
+
iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW
|
1427
1633
|
{
|
1634
|
+
BOOST_ASSERT(first == last ||
|
1635
|
+
(first < last && this->priv_in_range(first) && this->priv_in_range_or_end(last)));
|
1428
1636
|
STABLE_VECTOR_CHECK_INVARIANT;
|
1429
1637
|
const const_iterator cbeg(this->cbegin());
|
1430
1638
|
const size_type d1 = static_cast<size_type>(first - cbeg),
|
@@ -1455,7 +1663,12 @@ class stable_vector
|
|
1455
1663
|
//!
|
1456
1664
|
//! <b>Complexity</b>: Constant.
|
1457
1665
|
void swap(stable_vector & x)
|
1666
|
+
BOOST_NOEXCEPT_IF( allocator_traits_type::propagate_on_container_swap::value
|
1667
|
+
|| allocator_traits_type::is_always_equal::value)
|
1458
1668
|
{
|
1669
|
+
BOOST_ASSERT(allocator_traits_type::propagate_on_container_swap::value ||
|
1670
|
+
allocator_traits_type::is_always_equal::value ||
|
1671
|
+
this->get_stored_allocator() == x.get_stored_allocator());
|
1459
1672
|
STABLE_VECTOR_CHECK_INVARIANT;
|
1460
1673
|
container_detail::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
|
1461
1674
|
container_detail::swap_alloc(this->priv_node_alloc(), x.priv_node_alloc(), flag);
|
@@ -1469,13 +1682,72 @@ class stable_vector
|
|
1469
1682
|
//! <b>Throws</b>: Nothing.
|
1470
1683
|
//!
|
1471
1684
|
//! <b>Complexity</b>: Linear to the number of elements in the stable_vector.
|
1472
|
-
void clear()
|
1685
|
+
void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
1473
1686
|
{ this->erase(this->cbegin(),this->cend()); }
|
1474
1687
|
|
1475
|
-
|
1688
|
+
//! <b>Effects</b>: Returns true if x and y are equal
|
1689
|
+
//!
|
1690
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1691
|
+
friend bool operator==(const stable_vector& x, const stable_vector& y)
|
1692
|
+
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
1693
|
+
|
1694
|
+
//! <b>Effects</b>: Returns true if x and y are unequal
|
1695
|
+
//!
|
1696
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1697
|
+
friend bool operator!=(const stable_vector& x, const stable_vector& y)
|
1698
|
+
{ return !(x == y); }
|
1699
|
+
|
1700
|
+
//! <b>Effects</b>: Returns true if x is less than y
|
1701
|
+
//!
|
1702
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1703
|
+
friend bool operator<(const stable_vector& x, const stable_vector& y)
|
1704
|
+
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
1705
|
+
|
1706
|
+
//! <b>Effects</b>: Returns true if x is greater than y
|
1707
|
+
//!
|
1708
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1709
|
+
friend bool operator>(const stable_vector& x, const stable_vector& y)
|
1710
|
+
{ return y < x; }
|
1711
|
+
|
1712
|
+
//! <b>Effects</b>: Returns true if x is equal or less than y
|
1713
|
+
//!
|
1714
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1715
|
+
friend bool operator<=(const stable_vector& x, const stable_vector& y)
|
1716
|
+
{ return !(y < x); }
|
1476
1717
|
|
1718
|
+
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
1719
|
+
//!
|
1720
|
+
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
1721
|
+
friend bool operator>=(const stable_vector& x, const stable_vector& y)
|
1722
|
+
{ return !(x < y); }
|
1723
|
+
|
1724
|
+
//! <b>Effects</b>: x.swap(y)
|
1725
|
+
//!
|
1726
|
+
//! <b>Complexity</b>: Constant.
|
1727
|
+
friend void swap(stable_vector& x, stable_vector& y)
|
1728
|
+
{ x.swap(y); }
|
1729
|
+
|
1730
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1477
1731
|
private:
|
1478
1732
|
|
1733
|
+
bool priv_in_range(const_iterator pos) const
|
1734
|
+
{
|
1735
|
+
return (this->begin() <= pos) && (pos < this->end());
|
1736
|
+
}
|
1737
|
+
|
1738
|
+
bool priv_in_range_or_end(const_iterator pos) const
|
1739
|
+
{
|
1740
|
+
return (this->begin() <= pos) && (pos <= this->end());
|
1741
|
+
}
|
1742
|
+
|
1743
|
+
size_type priv_index_of(node_ptr p) const
|
1744
|
+
{
|
1745
|
+
//Check range
|
1746
|
+
BOOST_ASSERT(this->index.empty() || (this->index.data() <= p->up));
|
1747
|
+
BOOST_ASSERT(this->index.empty() || p->up <= (this->index.data() + this->index.size()));
|
1748
|
+
return this->index.empty() ? 0 : p->up - this->index.data();
|
1749
|
+
}
|
1750
|
+
|
1479
1751
|
class insert_rollback
|
1480
1752
|
{
|
1481
1753
|
public:
|
@@ -1521,7 +1793,7 @@ class stable_vector
|
|
1521
1793
|
node_ptr m_p;
|
1522
1794
|
};
|
1523
1795
|
|
1524
|
-
index_iterator priv_insert_forward_non_templated(size_type
|
1796
|
+
index_iterator priv_insert_forward_non_templated(size_type idx, size_type num_new)
|
1525
1797
|
{
|
1526
1798
|
index_traits_type::initialize_end_node(this->index, this->internal_data.end_node, num_new);
|
1527
1799
|
|
@@ -1532,15 +1804,15 @@ class stable_vector
|
|
1532
1804
|
|
1533
1805
|
//Now try to make room in the vector
|
1534
1806
|
const node_base_ptr_ptr old_buffer = this->index.data();
|
1535
|
-
this->index.insert(this->index.begin() +
|
1807
|
+
this->index.insert(this->index.begin() + idx, num_new, node_ptr());
|
1536
1808
|
bool new_buffer = this->index.data() != old_buffer;
|
1537
1809
|
|
1538
1810
|
//Fix the pointers for the newly allocated buffer
|
1539
1811
|
const index_iterator index_beg = this->index.begin();
|
1540
1812
|
if(new_buffer){
|
1541
|
-
index_traits_type::fix_up_pointers(index_beg, index_beg +
|
1813
|
+
index_traits_type::fix_up_pointers(index_beg, index_beg + idx);
|
1542
1814
|
}
|
1543
|
-
return index_beg +
|
1815
|
+
return index_beg + idx;
|
1544
1816
|
}
|
1545
1817
|
|
1546
1818
|
bool priv_capacity_bigger_than_size() const
|
@@ -1552,7 +1824,7 @@ class stable_vector
|
|
1552
1824
|
template <class U>
|
1553
1825
|
void priv_push_back(BOOST_MOVE_CATCH_FWD(U) x)
|
1554
1826
|
{
|
1555
|
-
if(this->priv_capacity_bigger_than_size()){
|
1827
|
+
if(BOOST_LIKELY(this->priv_capacity_bigger_than_size())){
|
1556
1828
|
//Enough memory in the pool and in the index
|
1557
1829
|
const node_ptr p = this->priv_get_from_pool();
|
1558
1830
|
BOOST_ASSERT(!!p);
|
@@ -1571,18 +1843,20 @@ class stable_vector
|
|
1571
1843
|
}
|
1572
1844
|
}
|
1573
1845
|
|
1574
|
-
iterator priv_insert(const_iterator
|
1846
|
+
iterator priv_insert(const_iterator p, const value_type &t)
|
1575
1847
|
{
|
1848
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
1576
1849
|
typedef constant_iterator<value_type, difference_type> cvalue_iterator;
|
1577
|
-
return this->insert(
|
1850
|
+
return this->insert(p, cvalue_iterator(t, 1), cvalue_iterator());
|
1578
1851
|
}
|
1579
1852
|
|
1580
|
-
iterator priv_insert(const_iterator
|
1853
|
+
iterator priv_insert(const_iterator p, BOOST_RV_REF(T) x)
|
1581
1854
|
{
|
1855
|
+
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
1582
1856
|
typedef repeat_iterator<T, difference_type> repeat_it;
|
1583
1857
|
typedef boost::move_iterator<repeat_it> repeat_move_it;
|
1584
|
-
//Just call more general insert(
|
1585
|
-
return this->insert(
|
1858
|
+
//Just call more general insert(p, size, value) and return iterator
|
1859
|
+
return this->insert(p, repeat_move_it(repeat_it(x, 1)), repeat_move_it(repeat_it()));
|
1586
1860
|
}
|
1587
1861
|
|
1588
1862
|
void priv_clear_pool()
|
@@ -1674,11 +1948,8 @@ class stable_vector
|
|
1674
1948
|
return ret;
|
1675
1949
|
}
|
1676
1950
|
|
1677
|
-
|
1678
|
-
{
|
1679
|
-
return node_ptr_traits::pointer_to
|
1680
|
-
(static_cast<node_type&>(const_cast<node_base_type&>(this->internal_data.end_node)));
|
1681
|
-
}
|
1951
|
+
node_base_ptr priv_get_end_node() const
|
1952
|
+
{ return node_base_ptr_traits::pointer_to(const_cast<node_base_type&>(this->internal_data.end_node)); }
|
1682
1953
|
|
1683
1954
|
void priv_destroy_node(const node_type &n)
|
1684
1955
|
{
|
@@ -1702,7 +1973,7 @@ class stable_vector
|
|
1702
1973
|
, container_detail::addressof(p->value)
|
1703
1974
|
, it);
|
1704
1975
|
//This does not throw
|
1705
|
-
::new(static_cast<node_base_type*>(container_detail::to_raw_pointer(p)))
|
1976
|
+
::new(static_cast<node_base_type*>(container_detail::to_raw_pointer(p)), boost_container_new_t())
|
1706
1977
|
node_base_type(index_traits_type::ptr_to_node_base_ptr(*up_index));
|
1707
1978
|
}
|
1708
1979
|
|
@@ -1715,12 +1986,12 @@ class stable_vector
|
|
1715
1986
|
, container_detail::addressof(p->value)
|
1716
1987
|
, ::boost::forward<ValueConvertible>(value_convertible));
|
1717
1988
|
//This does not throw
|
1718
|
-
::new(static_cast<node_base_type*>(container_detail::to_raw_pointer(p))) node_base_type;
|
1989
|
+
::new(static_cast<node_base_type*>(container_detail::to_raw_pointer(p)), boost_container_new_t()) node_base_type;
|
1719
1990
|
}
|
1720
1991
|
|
1721
1992
|
void priv_swap_members(stable_vector &x)
|
1722
1993
|
{
|
1723
|
-
boost::
|
1994
|
+
boost::adl_move_swap(this->internal_data.pool_size, x.internal_data.pool_size);
|
1724
1995
|
index_traits_type::readjust_end_node(this->index, this->internal_data.end_node);
|
1725
1996
|
index_traits_type::readjust_end_node(x.index, x.internal_data.end_node);
|
1726
1997
|
}
|
@@ -1730,8 +2001,19 @@ class stable_vector
|
|
1730
2001
|
{
|
1731
2002
|
index_type & index_ref = const_cast<index_type&>(this->index);
|
1732
2003
|
|
1733
|
-
|
2004
|
+
const size_type index_size = this->index.size();
|
2005
|
+
if(!index_size)
|
1734
2006
|
return !this->capacity() && !this->size();
|
2007
|
+
|
2008
|
+
if(index_size < ExtraPointers)
|
2009
|
+
return false;
|
2010
|
+
|
2011
|
+
const size_type bucket_extra_capacity = this->index.capacity()- index_size;
|
2012
|
+
const size_type node_extra_capacity = this->internal_data.pool_size;
|
2013
|
+
if(bucket_extra_capacity < node_extra_capacity){
|
2014
|
+
return false;
|
2015
|
+
}
|
2016
|
+
|
1735
2017
|
if(this->priv_get_end_node() != *(index.end() - ExtraPointers)){
|
1736
2018
|
return false;
|
1737
2019
|
}
|
@@ -1798,71 +2080,30 @@ class stable_vector
|
|
1798
2080
|
const node_allocator_type &priv_node_alloc() const { return internal_data; }
|
1799
2081
|
|
1800
2082
|
index_type index;
|
1801
|
-
|
2083
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1802
2084
|
};
|
1803
2085
|
|
1804
|
-
|
1805
|
-
bool operator==(const stable_vector<T,Allocator>& x,const stable_vector<T,Allocator>& y)
|
1806
|
-
{
|
1807
|
-
return x.size()==y.size()&&std::equal(x.begin(),x.end(),y.begin());
|
1808
|
-
}
|
1809
|
-
|
1810
|
-
template <typename T,typename Allocator>
|
1811
|
-
bool operator< (const stable_vector<T,Allocator>& x,const stable_vector<T,Allocator>& y)
|
1812
|
-
{
|
1813
|
-
return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());
|
1814
|
-
}
|
1815
|
-
|
1816
|
-
template <typename T,typename Allocator>
|
1817
|
-
bool operator!=(const stable_vector<T,Allocator>& x,const stable_vector<T,Allocator>& y)
|
1818
|
-
{
|
1819
|
-
return !(x==y);
|
1820
|
-
}
|
1821
|
-
|
1822
|
-
template <typename T,typename Allocator>
|
1823
|
-
bool operator> (const stable_vector<T,Allocator>& x,const stable_vector<T,Allocator>& y)
|
1824
|
-
{
|
1825
|
-
return y<x;
|
1826
|
-
}
|
1827
|
-
|
1828
|
-
template <typename T,typename Allocator>
|
1829
|
-
bool operator>=(const stable_vector<T,Allocator>& x,const stable_vector<T,Allocator>& y)
|
1830
|
-
{
|
1831
|
-
return !(x<y);
|
1832
|
-
}
|
1833
|
-
|
1834
|
-
template <typename T,typename Allocator>
|
1835
|
-
bool operator<=(const stable_vector<T,Allocator>& x,const stable_vector<T,Allocator>& y)
|
1836
|
-
{
|
1837
|
-
return !(x>y);
|
1838
|
-
}
|
1839
|
-
|
1840
|
-
// specialized algorithms:
|
1841
|
-
|
1842
|
-
template <typename T, typename Allocator>
|
1843
|
-
void swap(stable_vector<T,Allocator>& x,stable_vector<T,Allocator>& y)
|
1844
|
-
{
|
1845
|
-
x.swap(y);
|
1846
|
-
}
|
1847
|
-
|
1848
|
-
/// @cond
|
2086
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1849
2087
|
|
1850
2088
|
#undef STABLE_VECTOR_CHECK_INVARIANT
|
1851
2089
|
|
1852
|
-
|
1853
|
-
|
1854
|
-
/*
|
2090
|
+
} //namespace container {
|
1855
2091
|
|
1856
2092
|
//!has_trivial_destructor_after_move<> == true_type
|
1857
2093
|
//!specialization for optimizations
|
1858
2094
|
template <class T, class Allocator>
|
1859
2095
|
struct has_trivial_destructor_after_move<boost::container::stable_vector<T, Allocator> >
|
1860
|
-
|
1861
|
-
|
2096
|
+
{
|
2097
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
2098
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
|
2099
|
+
::boost::has_trivial_destructor_after_move<pointer>::value;
|
2100
|
+
};
|
2101
|
+
|
2102
|
+
namespace container {
|
1862
2103
|
|
1863
|
-
|
2104
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1864
2105
|
|
1865
|
-
}}
|
2106
|
+
}} //namespace boost{ namespace container {
|
1866
2107
|
|
1867
2108
|
#include <boost/container/detail/config_end.hpp>
|
1868
2109
|
|