passenger 5.1.4 → 5.1.5
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 +9 -0
- data/CHANGELOG +9 -0
- data/build/cxx_tests.rb +11 -1
- data/build/documentation.rb +0 -32
- data/build/support/cxx_dependency_map.rb +602 -2
- data/build/test_basics.rb +3 -3
- data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +48 -0
- data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +33 -0
- data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +25 -0
- data/dev/ci/README.md +121 -0
- data/dev/ci/lib/functions.sh +129 -0
- data/dev/ci/lib/set-container-envvars.sh +46 -0
- data/dev/ci/lib/setup-container.sh +43 -0
- data/dev/ci/run-tests-natively +24 -0
- data/dev/ci/run-tests-with-docker +42 -0
- data/dev/ci/scripts/debug-console-wrapper.sh +27 -0
- data/dev/ci/scripts/docker-entrypoint-stage2.sh +17 -0
- data/dev/ci/scripts/docker-entrypoint.sh +17 -0
- data/dev/ci/scripts/inituidgid +17 -0
- data/dev/ci/scripts/run-tests-natively-stage2.sh +17 -0
- data/dev/ci/scripts/setup-host-natively.sh +11 -0
- data/dev/ci/setup-host +50 -0
- data/dev/ci/tests/apache2/run +6 -0
- data/dev/ci/tests/apache2/setup +4 -0
- data/dev/ci/tests/cxx/run +9 -0
- data/dev/ci/tests/cxx/setup +4 -0
- data/dev/ci/tests/nginx-dynamic/run +20 -0
- data/dev/ci/tests/nginx-dynamic/setup +4 -0
- data/dev/ci/tests/nginx/run +5 -0
- data/dev/ci/tests/nginx/setup +4 -0
- data/dev/ci/tests/nodejs/run +4 -0
- data/dev/ci/tests/nodejs/setup +4 -0
- data/dev/ci/tests/ruby/run +4 -0
- data/dev/ci/tests/ruby/setup +4 -0
- data/dev/ci/tests/source-packaging/run +4 -0
- data/dev/ci/tests/source-packaging/setup +4 -0
- data/dev/ci/tests/standalone/run +4 -0
- data/dev/ci/tests/standalone/setup +4 -0
- data/dev/copy_boost_headers +8 -2
- data/src/agent/Core/ApiServer.h +11 -5
- data/src/agent/Core/Controller.h +12 -46
- data/src/agent/Core/Controller/CheckoutSession.cpp +1 -1
- data/src/agent/Core/Controller/Config.h +369 -0
- data/src/agent/Core/Controller/ForwardResponse.cpp +4 -4
- data/src/agent/Core/Controller/Hooks.cpp +15 -3
- data/src/agent/Core/Controller/Implementation.cpp +1 -1
- data/src/agent/Core/Controller/InitRequest.cpp +28 -39
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +25 -60
- data/src/agent/Core/Controller/InternalUtils.cpp +0 -16
- data/src/agent/Core/Controller/Miscellaneous.cpp +0 -17
- data/src/agent/Core/Controller/Request.h +2 -0
- data/src/agent/Core/Controller/SendRequest.cpp +4 -4
- data/src/agent/Core/Controller/{StateInspectionAndConfiguration.cpp → StateInspection.cpp} +0 -22
- data/src/agent/Core/Controller/TurboCaching.h +11 -10
- data/src/agent/Core/CoreMain.cpp +16 -6
- data/src/agent/Core/ResponseCache.h +3 -3
- data/src/agent/Core/SpawningKit/SmartSpawner.h +9 -3
- data/src/agent/Core/SpawningKit/Spawner.h +7 -3
- data/src/agent/UstRouter/ApiServer.h +3 -2
- data/src/agent/UstRouter/Controller.h +66 -32
- data/src/agent/UstRouter/UstRouterMain.cpp +10 -2
- data/src/agent/Watchdog/ApiServer.h +3 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +3 -1
- data/src/apache2_module/ConfigurationCommands.cpp +1 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +125 -0
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +34 -0
- data/src/cxx_supportlib/ConfigKit/README.md +895 -0
- data/src/cxx_supportlib/ConfigKit/Schema.h +331 -0
- data/src/cxx_supportlib/ConfigKit/Store.h +385 -0
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +185 -0
- data/src/cxx_supportlib/ConfigKit/Utils.h +141 -0
- data/src/cxx_supportlib/ConfigKit/VariantMapUtils.h +81 -0
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/Crypto.cpp +2 -2
- data/src/cxx_supportlib/Logging.h +0 -35
- data/src/cxx_supportlib/ServerKit/HttpServer.h +35 -16
- data/src/cxx_supportlib/ServerKit/Server.h +65 -25
- data/src/cxx_supportlib/oxt/macros.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/replace.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +53 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +28 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/arg.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +90 -18
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +35 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/compaq_cxx.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +29 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sgi_mipspro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +44 -16
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/select_compiler_config.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +42 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +40 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/suffix.hpp +33 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -27
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +62 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +39 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +49 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +175 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +223 -98
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_sorted.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +88 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +4 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +45 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +205 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +290 -181
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +320 -46
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +91 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +491 -120
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +399 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/deque.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/list.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/slist.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/small_vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/stable_vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/string.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +101 -20
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +19 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +117 -59
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +33 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +414 -70
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +134 -117
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +202 -99
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +217 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +29 -27
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_names_put.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_calendar.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day_of_year.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +27 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/posix_time_zone.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +3 -2
- 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_config.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +25 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +114 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +116 -142
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +57 -69
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/hash_float.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/extensions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash.hpp +27 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +99 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +35 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +37 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +209 -72
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +86 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algo_type.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +58 -45
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +27 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +27 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/has_member_function_callable_with.hpp +83 -57
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +70 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +22 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +29 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +33 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +19 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +103 -29
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +295 -211
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +20 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +36 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +43 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +96 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +102 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +48 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +20 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +36 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +167 -23
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +100 -46
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -27
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +30 -14
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +35 -36
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +6 -28
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +20 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +40 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +2437 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +127 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +637 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -116
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/destruct_n.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +227 -32
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +30 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +84 -80
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +32 -33
- data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +49 -49
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/mpl/print.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +197 -255
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +1059 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +253 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +196 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +372 -554
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool_alloc.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +16 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/cat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/to_list.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/const_iterator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +102 -87
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +45 -21
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +5 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +116 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1004 -159
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +4 -58
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +28 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +52 -144
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +120 -450
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +70 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/barrier.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/completion_latch.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_views.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +22 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +163 -55
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/launch.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_all.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_types.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/locks.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/timespec.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_functors.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_guard.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +265 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +272 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/mp_defer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_assign.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_assign.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_copy.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_destructor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_abstract.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pod.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +40 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +4986 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +1814 -1255
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +41 -45
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +1498 -1161
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +40 -44
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/utility/compare_pointees.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +39 -22
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +690 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view_fwd.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/helper-scripts/crash-watch.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -12
- metadata +77 -38
- data/dev/ci/inituidgid +0 -24
- data/dev/ci/run_jenkins.sh +0 -70
- data/dev/ci/run_travis.sh +0 -314
- data/doc/Design and Architecture.html +0 -2421
- data/doc/Design and Architecture.txt +0 -511
- data/doc/Security of user switching support.html +0 -1833
- data/doc/Users guide Apache.html +0 -3101
- data/doc/Users guide Apache.idmap.txt +0 -451
- data/doc/Users guide Apache.txt +0 -534
- data/doc/Users guide Nginx.html +0 -3026
- data/doc/Users guide Nginx.idmap.txt +0 -431
- data/doc/Users guide Nginx.txt +0 -451
- data/doc/Users guide Standalone.html +0 -2092
- data/doc/Users guide Standalone.idmap.txt +0 -137
- data/doc/Users guide Standalone.txt +0 -81
- data/doc/Users guide.html +0 -1606
- data/doc/Users guide.txt +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/address.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -383
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_allocator.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_count_impl.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_utility.hpp +0 -214
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_if_array.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocate.hpp +0 -1128
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/buckets.hpp +0 -928
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/equivalent.hpp +0 -686
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/extract_key.hpp +0 -188
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/table.hpp +0 -873
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unique.hpp +0 -628
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/util.hpp +0 -266
@@ -91,10 +91,10 @@ class small_vector_allocator
|
|
91
91
|
|
92
92
|
BOOST_COPYABLE_AND_MOVABLE(small_vector_allocator)
|
93
93
|
|
94
|
-
const Allocator &as_base() const
|
94
|
+
BOOST_CONTAINER_FORCEINLINE const Allocator &as_base() const
|
95
95
|
{ return static_cast<const Allocator&>(*this); }
|
96
96
|
|
97
|
-
Allocator &as_base()
|
97
|
+
BOOST_CONTAINER_FORCEINLINE Allocator &as_base()
|
98
98
|
{ return static_cast<Allocator&>(*this); }
|
99
99
|
|
100
100
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
@@ -135,13 +135,13 @@ class small_vector_allocator
|
|
135
135
|
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
136
136
|
//!Constructor from arbitrary arguments
|
137
137
|
template<class ...Args>
|
138
|
-
explicit small_vector_allocator(BOOST_FWD_REF(Args) ...args)
|
138
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector_allocator(BOOST_FWD_REF(Args) ...args)
|
139
139
|
: Allocator(::boost::forward<Args>(args)...)
|
140
140
|
{}
|
141
141
|
#else
|
142
142
|
#define BOOST_CONTAINER_SMALL_VECTOR_ALLOCATOR_CTOR_CODE(N) \
|
143
143
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
144
|
-
explicit small_vector_allocator(BOOST_MOVE_UREF##N)\
|
144
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector_allocator(BOOST_MOVE_UREF##N)\
|
145
145
|
: Allocator(BOOST_MOVE_FWD##N)\
|
146
146
|
{}\
|
147
147
|
//
|
@@ -151,54 +151,62 @@ class small_vector_allocator
|
|
151
151
|
|
152
152
|
//!Constructor from other small_vector_allocator.
|
153
153
|
//!Never throws
|
154
|
-
|
154
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator
|
155
|
+
(const small_vector_allocator &other) BOOST_NOEXCEPT_OR_NOTHROW
|
155
156
|
: Allocator(other.as_base())
|
156
157
|
{}
|
157
158
|
|
158
159
|
//!Move constructor from small_vector_allocator.
|
159
160
|
//!Never throws
|
160
|
-
small_vector_allocator
|
161
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator
|
162
|
+
(BOOST_RV_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW
|
161
163
|
: Allocator(::boost::move(other.as_base()))
|
162
164
|
{}
|
163
165
|
|
164
166
|
//!Constructor from related small_vector_allocator.
|
165
167
|
//!Never throws
|
166
168
|
template<class OtherAllocator>
|
167
|
-
|
169
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator
|
170
|
+
(const small_vector_allocator<OtherAllocator> &other) BOOST_NOEXCEPT_OR_NOTHROW
|
168
171
|
: Allocator(other.as_base())
|
169
172
|
{}
|
170
173
|
|
171
174
|
//!Move constructor from related small_vector_allocator.
|
172
175
|
//!Never throws
|
173
176
|
template<class OtherAllocator>
|
174
|
-
small_vector_allocator
|
177
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator
|
178
|
+
(BOOST_RV_REF(small_vector_allocator<OtherAllocator>) other) BOOST_NOEXCEPT_OR_NOTHROW
|
175
179
|
: Allocator(::boost::move(other.as_base()))
|
176
180
|
{}
|
177
181
|
|
178
182
|
//!Assignment from other small_vector_allocator.
|
179
183
|
//!Never throws
|
180
|
-
small_vector_allocator &
|
184
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator &
|
185
|
+
operator=(BOOST_COPY_ASSIGN_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW
|
181
186
|
{ return static_cast<small_vector_allocator&>(this->Allocator::operator=(other.as_base())); }
|
182
187
|
|
183
188
|
//!Move constructor from other small_vector_allocator.
|
184
189
|
//!Never throws
|
185
|
-
small_vector_allocator &
|
190
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator &
|
191
|
+
operator=(BOOST_RV_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW
|
186
192
|
{ return static_cast<small_vector_allocator&>(this->Allocator::operator=(::boost::move(other.as_base()))); }
|
187
193
|
|
188
194
|
//!Assignment from related small_vector_allocator.
|
189
195
|
//!Never throws
|
190
196
|
template<class OtherAllocator>
|
191
|
-
small_vector_allocator &
|
197
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator &
|
198
|
+
operator=(BOOST_COPY_ASSIGN_REF(small_vector_allocator<OtherAllocator>) other) BOOST_NOEXCEPT_OR_NOTHROW
|
192
199
|
{ return static_cast<small_vector_allocator&>(this->Allocator::operator=(other.as_base())); }
|
193
200
|
|
194
201
|
//!Move assignment from related small_vector_allocator.
|
195
202
|
//!Never throws
|
196
203
|
template<class OtherAllocator>
|
197
|
-
small_vector_allocator &
|
204
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_allocator &
|
205
|
+
operator=(BOOST_RV_REF(small_vector_allocator<OtherAllocator>) other) BOOST_NOEXCEPT_OR_NOTHROW
|
198
206
|
{ return static_cast<small_vector_allocator&>(this->Allocator::operator=(::boost::move(other.as_base()))); }
|
199
207
|
|
200
208
|
//!Allocates storage from the standard-conforming allocator
|
201
|
-
pointer allocate(size_type count, const_void_pointer hint = const_void_pointer())
|
209
|
+
BOOST_CONTAINER_FORCEINLINE pointer allocate(size_type count, const_void_pointer hint = const_void_pointer())
|
202
210
|
{ return allocator_traits_type::allocate(this->as_base(), count, hint); }
|
203
211
|
|
204
212
|
//!Deallocates previously allocated memory.
|
@@ -211,7 +219,7 @@ class small_vector_allocator
|
|
211
219
|
|
212
220
|
//!Returns the maximum number of elements that could be allocated.
|
213
221
|
//!Never throws
|
214
|
-
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
222
|
+
BOOST_CONTAINER_FORCEINLINE size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
215
223
|
{ return allocator_traits_type::max_size(this->as_base()); }
|
216
224
|
|
217
225
|
small_vector_allocator select_on_container_copy_construction() const
|
@@ -222,17 +230,17 @@ class small_vector_allocator
|
|
222
230
|
|
223
231
|
//!Swaps two allocators, does nothing
|
224
232
|
//!because this small_vector_allocator is stateless
|
225
|
-
friend void swap(small_vector_allocator &l, small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW
|
233
|
+
BOOST_CONTAINER_FORCEINLINE friend void swap(small_vector_allocator &l, small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW
|
226
234
|
{ boost::adl_move_swap(l.as_base(), r.as_base()); }
|
227
235
|
|
228
236
|
//!An small_vector_allocator always compares to true, as memory allocated with one
|
229
237
|
//!instance can be deallocated by another instance (except for unpropagable storage)
|
230
|
-
friend bool operator==(const small_vector_allocator &l, const small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW
|
238
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator==(const small_vector_allocator &l, const small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW
|
231
239
|
{ return allocator_traits_type::equal(l.as_base(), r.as_base()); }
|
232
240
|
|
233
241
|
//!An small_vector_allocator always compares to false, as memory allocated with one
|
234
242
|
//!instance can be deallocated by another instance
|
235
|
-
friend bool operator!=(const small_vector_allocator &l, const small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW
|
243
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const small_vector_allocator &l, const small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW
|
236
244
|
{ return !(l == r); }
|
237
245
|
|
238
246
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
@@ -268,7 +276,7 @@ class small_vector_allocator
|
|
268
276
|
using Allocator::allocate_many;
|
269
277
|
using Allocator::deallocate_many;*/
|
270
278
|
|
271
|
-
bool is_internal_storage(pointer p) const
|
279
|
+
BOOST_CONTAINER_FORCEINLINE bool is_internal_storage(pointer p) const
|
272
280
|
{ return this->internal_storage() == p; }
|
273
281
|
|
274
282
|
pointer internal_storage() const
|
@@ -287,7 +295,7 @@ class small_vector_allocator
|
|
287
295
|
};
|
288
296
|
|
289
297
|
//! This class consists of common code from all small_vector<T, N> types that don't depend on the
|
290
|
-
//! "N" template parameter. This class is non-copyable and non-destructible, so this class
|
298
|
+
//! "N" template parameter. This class is non-copyable and non-destructible, so this class typically
|
291
299
|
//! used as reference argument to functions that read or write small vectors. Since `small_vector<T, N>`
|
292
300
|
//! derives from `small_vector_base<T>`, the conversion to `small_vector_base` is implicit
|
293
301
|
//! <pre>
|
@@ -295,7 +303,7 @@ class small_vector_allocator
|
|
295
303
|
//! //Clients can pass any small_vector<Foo, N>.
|
296
304
|
//! void read_any_small_vector_of_foo(const small_vector_base<Foo> &in_parameter);
|
297
305
|
//!
|
298
|
-
//! void modify_any_small_vector_of_foo(small_vector_base<Foo> &
|
306
|
+
//! void modify_any_small_vector_of_foo(small_vector_base<Foo> &in_out_parameter);
|
299
307
|
//!
|
300
308
|
//! void some_function()
|
301
309
|
//! {
|
@@ -344,19 +352,16 @@ class small_vector_base
|
|
344
352
|
protected:
|
345
353
|
typedef typename base_type::initial_capacity_t initial_capacity_t;
|
346
354
|
|
347
|
-
explicit small_vector_base(initial_capacity_t, std::size_t initial_capacity)
|
355
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector_base(initial_capacity_t, std::size_t initial_capacity)
|
348
356
|
: base_type(initial_capacity_t(), this->internal_storage(), initial_capacity)
|
349
357
|
{}
|
350
358
|
|
351
359
|
template<class AllocFwd>
|
352
|
-
explicit small_vector_base(initial_capacity_t, std::size_t capacity, BOOST_FWD_REF(AllocFwd) a)
|
360
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector_base(initial_capacity_t, std::size_t capacity, BOOST_FWD_REF(AllocFwd) a)
|
353
361
|
: base_type(initial_capacity_t(), this->internal_storage(), capacity, ::boost::forward<AllocFwd>(a))
|
354
362
|
{}
|
355
363
|
|
356
|
-
|
357
|
-
|
358
|
-
using base_type::is_propagable_from;
|
359
|
-
using base_type::steal_resources;
|
364
|
+
//~small_vector_base(){}
|
360
365
|
|
361
366
|
private:
|
362
367
|
//The only member
|
@@ -365,14 +370,29 @@ class small_vector_base
|
|
365
370
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
366
371
|
|
367
372
|
public:
|
368
|
-
small_vector_base& operator=(BOOST_COPY_ASSIGN_REF(small_vector_base) other)
|
373
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_base& operator=(BOOST_COPY_ASSIGN_REF(small_vector_base) other)
|
369
374
|
{ return static_cast<small_vector_base&>(this->base_type::operator=(static_cast<base_type const&>(other))); }
|
370
375
|
|
371
|
-
small_vector_base& operator=(BOOST_RV_REF(small_vector_base) other)
|
376
|
+
BOOST_CONTAINER_FORCEINLINE small_vector_base& operator=(BOOST_RV_REF(small_vector_base) other)
|
372
377
|
{ return static_cast<small_vector_base&>(this->base_type::operator=(BOOST_MOVE_BASE(base_type, other))); }
|
373
378
|
|
374
|
-
void swap(small_vector_base &other)
|
379
|
+
BOOST_CONTAINER_FORCEINLINE void swap(small_vector_base &other)
|
375
380
|
{ return this->base_type::swap(other); }
|
381
|
+
|
382
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
383
|
+
protected:
|
384
|
+
void move_construct_impl(base_type &x, const allocator_type &a)
|
385
|
+
{
|
386
|
+
if(base_type::is_propagable_from(x.get_stored_allocator(), x.data(), a, true)){
|
387
|
+
this->steal_resources(x);
|
388
|
+
}
|
389
|
+
else{
|
390
|
+
this->assign( boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.begin()))
|
391
|
+
, boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.end ()))
|
392
|
+
);
|
393
|
+
}
|
394
|
+
}
|
395
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
376
396
|
};
|
377
397
|
|
378
398
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
@@ -477,76 +497,114 @@ class small_vector : public small_vector_base<T, Allocator>
|
|
477
497
|
typedef typename base_type::size_type size_type;
|
478
498
|
typedef typename base_type::value_type value_type;
|
479
499
|
|
480
|
-
static std::size_t internal_capacity()
|
500
|
+
BOOST_CONTAINER_FORCEINLINE static std::size_t internal_capacity()
|
481
501
|
{ return (sizeof(small_vector) - storage_test::s_start)/sizeof(T); }
|
482
502
|
|
483
503
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
484
504
|
|
505
|
+
//! @brief The capacity/max size of the container
|
506
|
+
static const size_type static_capacity = N;
|
507
|
+
|
485
508
|
public:
|
486
|
-
small_vector()
|
509
|
+
BOOST_CONTAINER_FORCEINLINE small_vector()
|
510
|
+
BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible<Allocator>::value)
|
487
511
|
: base_type(initial_capacity_t(), internal_capacity())
|
488
512
|
{}
|
489
513
|
|
490
|
-
explicit small_vector(
|
514
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector(const allocator_type &a)
|
515
|
+
: base_type(initial_capacity_t(), internal_capacity(), a)
|
516
|
+
{}
|
517
|
+
|
518
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector(size_type n)
|
491
519
|
: base_type(initial_capacity_t(), internal_capacity())
|
492
520
|
{ this->resize(n); }
|
493
521
|
|
494
|
-
|
522
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(size_type n, const allocator_type &a)
|
495
523
|
: base_type(initial_capacity_t(), internal_capacity(), a)
|
496
|
-
{}
|
524
|
+
{ this->resize(n); }
|
497
525
|
|
498
|
-
small_vector(size_type n,
|
526
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(size_type n, default_init_t)
|
527
|
+
: base_type(initial_capacity_t(), internal_capacity())
|
528
|
+
{ this->resize(n, default_init_t()); }
|
529
|
+
|
530
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(size_type n, default_init_t, const allocator_type &a)
|
499
531
|
: base_type(initial_capacity_t(), internal_capacity(), a)
|
500
|
-
{ this->resize(n); }
|
532
|
+
{ this->resize(n, default_init_t()); }
|
501
533
|
|
502
|
-
small_vector(const
|
534
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(size_type n, const value_type &v)
|
535
|
+
: base_type(initial_capacity_t(), internal_capacity())
|
536
|
+
{ this->resize(n, v); }
|
537
|
+
|
538
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(size_type n, const value_type &v, const allocator_type &a)
|
539
|
+
: base_type(initial_capacity_t(), internal_capacity(), a)
|
540
|
+
{ this->resize(n, v); }
|
541
|
+
|
542
|
+
template <class InIt>
|
543
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(InIt first, InIt last
|
544
|
+
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename container_detail::disable_if_c
|
545
|
+
< container_detail::is_convertible<InIt BOOST_MOVE_I size_type>::value
|
546
|
+
BOOST_MOVE_I container_detail::nat >::type * = 0)
|
547
|
+
)
|
548
|
+
: base_type(initial_capacity_t(), internal_capacity())
|
549
|
+
{ this->assign(first, last); }
|
550
|
+
|
551
|
+
template <class InIt>
|
552
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(InIt first, InIt last, const allocator_type& a
|
553
|
+
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename container_detail::disable_if_c
|
554
|
+
< container_detail::is_convertible<InIt BOOST_MOVE_I size_type>::value
|
555
|
+
BOOST_MOVE_I container_detail::nat >::type * = 0)
|
556
|
+
)
|
557
|
+
: base_type(initial_capacity_t(), internal_capacity(), a)
|
558
|
+
{ this->assign(first, last); }
|
559
|
+
|
560
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(const small_vector &other)
|
503
561
|
: base_type( initial_capacity_t(), internal_capacity()
|
504
562
|
, allocator_traits_type::select_on_container_copy_construction(other.get_stored_allocator()))
|
505
563
|
{ this->assign(other.cbegin(), other.cend()); }
|
506
564
|
|
507
|
-
small_vector(const small_vector &other, const allocator_type &a)
|
565
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(const small_vector &other, const allocator_type &a)
|
508
566
|
: base_type(initial_capacity_t(), internal_capacity(), a)
|
509
567
|
{ this->assign(other.cbegin(), other.cend()); }
|
510
568
|
|
511
|
-
small_vector(
|
569
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector(const base_type &other)
|
570
|
+
: base_type( initial_capacity_t(), internal_capacity()
|
571
|
+
, allocator_traits_type::select_on_container_copy_construction(other.get_stored_allocator()))
|
572
|
+
{ this->assign(other.cbegin(), other.cend()); }
|
573
|
+
|
574
|
+
BOOST_CONTAINER_FORCEINLINE explicit small_vector(BOOST_RV_REF(base_type) other)
|
512
575
|
: base_type(initial_capacity_t(), internal_capacity(), ::boost::move(other.get_stored_allocator()))
|
513
576
|
{ this->move_construct_impl(other, other.get_stored_allocator()); }
|
514
577
|
|
515
|
-
small_vector(BOOST_RV_REF(small_vector) other
|
578
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(BOOST_RV_REF(small_vector) other)
|
579
|
+
: base_type(initial_capacity_t(), internal_capacity(), ::boost::move(other.get_stored_allocator()))
|
580
|
+
{ this->move_construct_impl(other, other.get_stored_allocator()); }
|
581
|
+
|
582
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(BOOST_RV_REF(small_vector) other, const allocator_type &a)
|
516
583
|
: base_type(initial_capacity_t(), internal_capacity(), a)
|
517
584
|
{ this->move_construct_impl(other, a); }
|
518
585
|
|
519
586
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
520
|
-
small_vector(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
|
587
|
+
BOOST_CONTAINER_FORCEINLINE small_vector(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
|
521
588
|
: base_type(initial_capacity_t(), internal_capacity(), a)
|
522
589
|
{
|
523
590
|
this->assign(il.begin(), il.end());
|
524
591
|
}
|
525
592
|
#endif
|
526
593
|
|
527
|
-
small_vector& operator=(BOOST_COPY_ASSIGN_REF(small_vector) other)
|
594
|
+
BOOST_CONTAINER_FORCEINLINE small_vector& operator=(BOOST_COPY_ASSIGN_REF(small_vector) other)
|
528
595
|
{ return static_cast<small_vector&>(this->base_type::operator=(static_cast<base_type const&>(other))); }
|
529
596
|
|
530
|
-
small_vector& operator=(BOOST_RV_REF(small_vector) other)
|
597
|
+
BOOST_CONTAINER_FORCEINLINE small_vector& operator=(BOOST_RV_REF(small_vector) other)
|
531
598
|
{ return static_cast<small_vector&>(this->base_type::operator=(BOOST_MOVE_BASE(base_type, other))); }
|
532
599
|
|
533
|
-
|
534
|
-
{ return this->base_type::
|
600
|
+
BOOST_CONTAINER_FORCEINLINE small_vector& operator=(const base_type &other)
|
601
|
+
{ return static_cast<small_vector&>(this->base_type::operator=(other)); }
|
535
602
|
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
this->steal_resources(x);
|
542
|
-
}
|
543
|
-
else{
|
544
|
-
this->assign( boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.begin()))
|
545
|
-
, boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.end ()))
|
546
|
-
);
|
547
|
-
}
|
548
|
-
}
|
549
|
-
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
603
|
+
BOOST_CONTAINER_FORCEINLINE small_vector& operator=(BOOST_RV_REF(base_type) other)
|
604
|
+
{ return static_cast<small_vector&>(this->base_type::operator=(boost::move(other))); }
|
605
|
+
|
606
|
+
BOOST_CONTAINER_FORCEINLINE void swap(small_vector &other)
|
607
|
+
{ return this->base_type::swap(other); }
|
550
608
|
};
|
551
609
|
|
552
610
|
}}
|
@@ -540,7 +540,7 @@ class stable_vector
|
|
540
540
|
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
541
541
|
//!
|
542
542
|
//! <b>Complexity</b>: Constant.
|
543
|
-
stable_vector()
|
543
|
+
stable_vector() BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible<Allocator>::value)
|
544
544
|
: internal_data(), index()
|
545
545
|
{
|
546
546
|
STABLE_VECTOR_CHECK_INVARIANT;
|
@@ -698,7 +698,7 @@ class stable_vector
|
|
698
698
|
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
699
699
|
//!
|
700
700
|
//! <b>Complexity</b>: Constant.
|
701
|
-
stable_vector(BOOST_RV_REF(stable_vector) x)
|
701
|
+
stable_vector(BOOST_RV_REF(stable_vector) x) BOOST_NOEXCEPT_OR_NOTHROW
|
702
702
|
: internal_data(boost::move(x.priv_node_alloc())), index(boost::move(x.index))
|
703
703
|
{
|
704
704
|
this->priv_swap_members(x);
|
@@ -1374,16 +1374,18 @@ class stable_vector
|
|
1374
1374
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
1375
1375
|
//! std::forward<Args>(args)... in the end of the stable_vector.
|
1376
1376
|
//!
|
1377
|
+
//! <b>Returns</b>: A reference to the created object.
|
1378
|
+
//!
|
1377
1379
|
//! <b>Throws</b>: If memory allocation throws or the in-place constructor throws.
|
1378
1380
|
//!
|
1379
1381
|
//! <b>Complexity</b>: Amortized constant time.
|
1380
1382
|
template<class ...Args>
|
1381
|
-
|
1383
|
+
reference emplace_back(Args &&...args)
|
1382
1384
|
{
|
1383
1385
|
typedef emplace_functor<Args...> EmplaceFunctor;
|
1384
1386
|
typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;
|
1385
1387
|
EmplaceFunctor &&ef = EmplaceFunctor(boost::forward<Args>(args)...);
|
1386
|
-
this->insert(this->cend(), EmplaceIterator(ef), EmplaceIterator());
|
1388
|
+
return *this->insert(this->cend(), EmplaceIterator(ef), EmplaceIterator());
|
1387
1389
|
}
|
1388
1390
|
|
1389
1391
|
//! <b>Requires</b>: p must be a valid iterator of *this.
|
@@ -1411,13 +1413,13 @@ class stable_vector
|
|
1411
1413
|
|
1412
1414
|
#define BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE(N) \
|
1413
1415
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
1414
|
-
|
1416
|
+
reference emplace_back(BOOST_MOVE_UREF##N)\
|
1415
1417
|
{\
|
1416
1418
|
typedef emplace_functor##N\
|
1417
1419
|
BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\
|
1418
1420
|
typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;\
|
1419
1421
|
EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\
|
1420
|
-
this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator());\
|
1422
|
+
return *this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator());\
|
1421
1423
|
}\
|
1422
1424
|
\
|
1423
1425
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
@@ -41,29 +41,32 @@ class static_storage_allocator
|
|
41
41
|
public:
|
42
42
|
typedef T value_type;
|
43
43
|
|
44
|
-
static_storage_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
44
|
+
BOOST_CONTAINER_FORCEINLINE static_storage_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
45
45
|
{}
|
46
46
|
|
47
|
-
static_storage_allocator(const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
47
|
+
BOOST_CONTAINER_FORCEINLINE static_storage_allocator(const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
48
48
|
{}
|
49
49
|
|
50
|
-
static_storage_allocator & operator=(const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
50
|
+
BOOST_CONTAINER_FORCEINLINE static_storage_allocator & operator=(const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
51
51
|
{ return *this; }
|
52
52
|
|
53
|
-
T* internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW
|
53
|
+
BOOST_CONTAINER_FORCEINLINE T* internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW
|
54
54
|
{ return const_cast<T*>(static_cast<const T*>(static_cast<const void*>(&storage))); }
|
55
55
|
|
56
|
-
T* internal_storage() BOOST_NOEXCEPT_OR_NOTHROW
|
56
|
+
BOOST_CONTAINER_FORCEINLINE T* internal_storage() BOOST_NOEXCEPT_OR_NOTHROW
|
57
57
|
{ return static_cast<T*>(static_cast<void*>(&storage)); }
|
58
58
|
|
59
59
|
static const std::size_t internal_capacity = N;
|
60
60
|
|
61
|
+
std::size_t max_size() const
|
62
|
+
{ return N; }
|
63
|
+
|
61
64
|
typedef boost::container::container_detail::version_type<static_storage_allocator, 0> version;
|
62
65
|
|
63
|
-
friend bool operator==(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
66
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator==(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
64
67
|
{ return false; }
|
65
68
|
|
66
|
-
friend bool operator!=(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
69
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
67
70
|
{ return true; }
|
68
71
|
|
69
72
|
private:
|
@@ -136,6 +139,9 @@ public:
|
|
136
139
|
//! @brief The const reverse iterator.
|
137
140
|
typedef typename base_t::const_reverse_iterator const_reverse_iterator;
|
138
141
|
|
142
|
+
//! @brief The capacity/max size of the container
|
143
|
+
static const size_type static_capacity = Capacity;
|
144
|
+
|
139
145
|
//! @brief Constructs an empty static_vector.
|
140
146
|
//!
|
141
147
|
//! @par Throws
|
@@ -143,7 +149,7 @@ public:
|
|
143
149
|
//!
|
144
150
|
//! @par Complexity
|
145
151
|
//! Constant O(1).
|
146
|
-
static_vector() BOOST_NOEXCEPT_OR_NOTHROW
|
152
|
+
BOOST_CONTAINER_FORCEINLINE static_vector() BOOST_NOEXCEPT_OR_NOTHROW
|
147
153
|
: base_t()
|
148
154
|
{}
|
149
155
|
|
@@ -158,7 +164,7 @@ public:
|
|
158
164
|
//!
|
159
165
|
//! @par Complexity
|
160
166
|
//! Linear O(N).
|
161
|
-
explicit static_vector(size_type count)
|
167
|
+
BOOST_CONTAINER_FORCEINLINE explicit static_vector(size_type count)
|
162
168
|
: base_t(count)
|
163
169
|
{}
|
164
170
|
|
@@ -176,7 +182,7 @@ public:
|
|
176
182
|
//!
|
177
183
|
//! @par Note
|
178
184
|
//! Non-standard extension
|
179
|
-
static_vector(size_type count, default_init_t)
|
185
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(size_type count, default_init_t)
|
180
186
|
: base_t(count, default_init_t())
|
181
187
|
{}
|
182
188
|
|
@@ -192,7 +198,7 @@ public:
|
|
192
198
|
//!
|
193
199
|
//! @par Complexity
|
194
200
|
//! Linear O(N).
|
195
|
-
static_vector(size_type count, value_type const& value)
|
201
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(size_type count, value_type const& value)
|
196
202
|
: base_t(count, value)
|
197
203
|
{}
|
198
204
|
|
@@ -211,7 +217,7 @@ public:
|
|
211
217
|
//! @par Complexity
|
212
218
|
//! Linear O(N).
|
213
219
|
template <typename Iterator>
|
214
|
-
static_vector(Iterator first, Iterator last)
|
220
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(Iterator first, Iterator last)
|
215
221
|
: base_t(first, last)
|
216
222
|
{}
|
217
223
|
|
@@ -228,7 +234,7 @@ public:
|
|
228
234
|
//!
|
229
235
|
//! @par Complexity
|
230
236
|
//! Linear O(N).
|
231
|
-
static_vector(std::initializer_list<value_type> il)
|
237
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(std::initializer_list<value_type> il)
|
232
238
|
: base_t(il)
|
233
239
|
{}
|
234
240
|
#endif
|
@@ -242,7 +248,7 @@ public:
|
|
242
248
|
//!
|
243
249
|
//! @par Complexity
|
244
250
|
//! Linear O(N).
|
245
|
-
static_vector(static_vector const& other)
|
251
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(static_vector const& other)
|
246
252
|
: base_t(other)
|
247
253
|
{}
|
248
254
|
|
@@ -258,7 +264,7 @@ public:
|
|
258
264
|
//! @par Complexity
|
259
265
|
//! Linear O(N).
|
260
266
|
template <std::size_t C>
|
261
|
-
static_vector(static_vector<value_type, C> const& other)
|
267
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(static_vector<value_type, C> const& other)
|
262
268
|
: base_t(other)
|
263
269
|
{}
|
264
270
|
|
@@ -272,7 +278,8 @@ public:
|
|
272
278
|
//!
|
273
279
|
//! @par Complexity
|
274
280
|
//! Linear O(N).
|
275
|
-
static_vector(BOOST_RV_REF(static_vector) other)
|
281
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(BOOST_RV_REF(static_vector) other)
|
282
|
+
BOOST_NOEXCEPT_IF(boost::container::container_detail::is_nothrow_move_constructible<value_type>::value)
|
276
283
|
: base_t(BOOST_MOVE_BASE(base_t, other))
|
277
284
|
{}
|
278
285
|
|
@@ -289,7 +296,7 @@ public:
|
|
289
296
|
//! @par Complexity
|
290
297
|
//! Linear O(N).
|
291
298
|
template <std::size_t C>
|
292
|
-
static_vector(BOOST_RV_REF_BEG static_vector<value_type, C> BOOST_RV_REF_END other)
|
299
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(BOOST_RV_REF_BEG static_vector<value_type, C> BOOST_RV_REF_END other)
|
293
300
|
: base_t(BOOST_MOVE_BASE(typename static_vector<value_type BOOST_MOVE_I C>::base_t, other))
|
294
301
|
{}
|
295
302
|
|
@@ -302,7 +309,7 @@ public:
|
|
302
309
|
//!
|
303
310
|
//! @par Complexity
|
304
311
|
//! Linear O(N).
|
305
|
-
static_vector & operator=(BOOST_COPY_ASSIGN_REF(static_vector) other)
|
312
|
+
BOOST_CONTAINER_FORCEINLINE static_vector & operator=(BOOST_COPY_ASSIGN_REF(static_vector) other)
|
306
313
|
{
|
307
314
|
return static_cast<static_vector&>(base_t::operator=(static_cast<base_t const&>(other)));
|
308
315
|
}
|
@@ -317,7 +324,7 @@ public:
|
|
317
324
|
//!
|
318
325
|
//! @par Complexity
|
319
326
|
//! Linear O(N).
|
320
|
-
static_vector & operator=(std::initializer_list<value_type> il)
|
327
|
+
BOOST_CONTAINER_FORCEINLINE static_vector & operator=(std::initializer_list<value_type> il)
|
321
328
|
{ return static_cast<static_vector&>(base_t::operator=(il)); }
|
322
329
|
#endif
|
323
330
|
|
@@ -333,7 +340,7 @@ public:
|
|
333
340
|
//! @par Complexity
|
334
341
|
//! Linear O(N).
|
335
342
|
template <std::size_t C>
|
336
|
-
static_vector & operator=(static_vector<value_type, C> const& other)
|
343
|
+
BOOST_CONTAINER_FORCEINLINE static_vector & operator=(static_vector<value_type, C> const& other)
|
337
344
|
{
|
338
345
|
return static_cast<static_vector&>(base_t::operator=
|
339
346
|
(static_cast<typename static_vector<value_type, C>::base_t const&>(other)));
|
@@ -349,7 +356,7 @@ public:
|
|
349
356
|
//!
|
350
357
|
//! @par Complexity
|
351
358
|
//! Linear O(N).
|
352
|
-
static_vector & operator=(BOOST_RV_REF(static_vector) other)
|
359
|
+
BOOST_CONTAINER_FORCEINLINE static_vector & operator=(BOOST_RV_REF(static_vector) other)
|
353
360
|
{
|
354
361
|
return static_cast<static_vector&>(base_t::operator=(BOOST_MOVE_BASE(base_t, other)));
|
355
362
|
}
|
@@ -367,7 +374,7 @@ public:
|
|
367
374
|
//! @par Complexity
|
368
375
|
//! Linear O(N).
|
369
376
|
template <std::size_t C>
|
370
|
-
static_vector & operator=(BOOST_RV_REF_BEG static_vector<value_type, C> BOOST_RV_REF_END other)
|
377
|
+
BOOST_CONTAINER_FORCEINLINE static_vector & operator=(BOOST_RV_REF_BEG static_vector<value_type, C> BOOST_RV_REF_END other)
|
371
378
|
{
|
372
379
|
return static_cast<static_vector&>(base_t::operator=
|
373
380
|
(BOOST_MOVE_BASE(typename static_vector<value_type BOOST_MOVE_I C>::base_t, other)));
|
@@ -578,7 +585,6 @@ public:
|
|
578
585
|
template <typename Iterator>
|
579
586
|
iterator insert(const_iterator p, Iterator first, Iterator last);
|
580
587
|
|
581
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
582
588
|
//! @pre
|
583
589
|
//! @li \c p must be a valid iterator of \c *this in range <tt>[begin(), end()]</tt>.
|
584
590
|
//! @li <tt>distance(il.begin(), il.end()) <= capacity()</tt>
|
@@ -594,7 +600,6 @@ public:
|
|
594
600
|
//! @par Complexity
|
595
601
|
//! Linear O(N).
|
596
602
|
iterator insert(const_iterator p, std::initializer_list<value_type> il);
|
597
|
-
#endif
|
598
603
|
|
599
604
|
//! @pre \c p must be a valid iterator of \c *this in range <tt>[begin(), end())</tt>
|
600
605
|
//!
|
@@ -640,7 +645,6 @@ public:
|
|
640
645
|
template <typename Iterator>
|
641
646
|
void assign(Iterator first, Iterator last);
|
642
647
|
|
643
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
644
648
|
//! @pre <tt>distance(il.begin(), il.end()) <= capacity()</tt>
|
645
649
|
//!
|
646
650
|
//! @brief Assigns a range <tt>[il.begin(), il.end())</tt> of Values to this container.
|
@@ -653,7 +657,6 @@ public:
|
|
653
657
|
//! @par Complexity
|
654
658
|
//! Linear O(N).
|
655
659
|
void assign(std::initializer_list<value_type> il);
|
656
|
-
#endif
|
657
660
|
|
658
661
|
//! @pre <tt>count <= capacity()</tt>
|
659
662
|
//!
|
@@ -674,6 +677,8 @@ public:
|
|
674
677
|
//! @brief Inserts a Value constructed with
|
675
678
|
//! \c std::forward<Args>(args)... in the end of the container.
|
676
679
|
//!
|
680
|
+
//! @return A reference to the created object.
|
681
|
+
//!
|
677
682
|
//! @param args The arguments of the constructor of the new element which will be created at the end of the container.
|
678
683
|
//!
|
679
684
|
//! @par Throws
|
@@ -682,7 +687,7 @@ public:
|
|
682
687
|
//! @par Complexity
|
683
688
|
//! Constant O(1).
|
684
689
|
template<class ...Args>
|
685
|
-
|
690
|
+
reference emplace_back(Args &&...args);
|
686
691
|
|
687
692
|
//! @pre
|
688
693
|
//! @li \c p must be a valid iterator of \c *this in range <tt>[begin(), end()]</tt>
|
@@ -1095,7 +1100,7 @@ public:
|
|
1095
1100
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW;
|
1096
1101
|
#else
|
1097
1102
|
|
1098
|
-
friend void swap(static_vector &x, static_vector &y)
|
1103
|
+
BOOST_CONTAINER_FORCEINLINE friend void swap(static_vector &x, static_vector &y)
|
1099
1104
|
{
|
1100
1105
|
x.swap(y);
|
1101
1106
|
}
|