passenger 6.0.1 → 6.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +145 -18
- data/CONTRIBUTORS +6 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-status +15 -0
- data/build/misc.rb +3 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
- data/dev/copy_boost_headers +1 -0
- data/package.json +1 -1
- data/passenger.gemspec +9 -1
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
- data/resources/templates/standalone/http.erb +2 -0
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
- data/src/agent/Core/ApplicationPool/Options.h +10 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/Config.h +14 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +5 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +3 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +2 -1
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +15 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
- data/src/apache2_module/Hooks.cpp +6 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
- data/src/cxx_supportlib/Constants.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +20 -19
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
- 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 +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
- data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +6 -2
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
- data/src/nginx_module/ngx_http_passenger_module.c +2 -0
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_native_extension/extconf.rb +7 -0
- data/src/ruby_supportlib/phusion_passenger.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +42 -8
- data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -51,9 +51,11 @@ class BOOST_CONTAINER_DECL monotonic_buffer_resource
|
|
51
51
|
: public memory_resource
|
52
52
|
{
|
53
53
|
block_slist m_memory_blocks;
|
54
|
-
void*
|
54
|
+
void * m_current_buffer;
|
55
55
|
std::size_t m_current_buffer_size;
|
56
56
|
std::size_t m_next_buffer_size;
|
57
|
+
void * const m_initial_buffer;
|
58
|
+
std::size_t const m_initial_buffer_size;
|
57
59
|
|
58
60
|
/// @cond
|
59
61
|
void increase_next_buffer();
|
@@ -131,7 +133,7 @@ class BOOST_CONTAINER_DECL monotonic_buffer_resource
|
|
131
133
|
std::size_t remaining_storage(std::size_t alignment = 1u) const BOOST_NOEXCEPT;
|
132
134
|
|
133
135
|
//! <b>Returns</b>:
|
134
|
-
//! The
|
136
|
+
//! The address pointing to the start of the current free storage.
|
135
137
|
//!
|
136
138
|
//! <b>Note</b>: Non-standard extension.
|
137
139
|
const void *current_buffer() const BOOST_NOEXCEPT;
|
@@ -172,7 +172,7 @@ class resource_adaptor
|
|
172
172
|
{}
|
173
173
|
|
174
174
|
explicit resource_adaptor(BOOST_RV_REF(Allocator) a2)
|
175
|
-
: base_t(
|
175
|
+
: base_t(::boost::move(a2))
|
176
176
|
{}
|
177
177
|
|
178
178
|
resource_adaptor& operator=(BOOST_COPY_ASSIGN_REF(resource_adaptor) other)
|
@@ -20,6 +20,7 @@
|
|
20
20
|
#include <boost/container/detail/auto_link.hpp>
|
21
21
|
#include <boost/container/pmr/memory_resource.hpp>
|
22
22
|
#include <boost/container/detail/pool_resource.hpp>
|
23
|
+
#include <boost/container/detail/thread_mutex.hpp>
|
23
24
|
|
24
25
|
#include <cstddef>
|
25
26
|
|
@@ -60,8 +61,8 @@ namespace pmr {
|
|
60
61
|
class BOOST_CONTAINER_DECL synchronized_pool_resource
|
61
62
|
: public memory_resource
|
62
63
|
{
|
63
|
-
|
64
|
-
|
64
|
+
dtl::thread_mutex m_mut;
|
65
|
+
pool_resource m_pool_resource;
|
65
66
|
|
66
67
|
public:
|
67
68
|
|
@@ -227,6 +227,21 @@ class set
|
|
227
227
|
: base_t(ordered_range, first, last, comp, a)
|
228
228
|
{}
|
229
229
|
|
230
|
+
//! <b>Effects</b>: Constructs an empty set using the specified allocator and
|
231
|
+
//! inserts elements from the ordered unique range [first ,last). This function
|
232
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
233
|
+
//!
|
234
|
+
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
|
235
|
+
//! unique values.
|
236
|
+
//!
|
237
|
+
//! <b>Complexity</b>: Linear in N.
|
238
|
+
//!
|
239
|
+
//! <b>Note</b>: Non-standard extension.
|
240
|
+
template <class InputIterator>
|
241
|
+
BOOST_CONTAINER_FORCEINLINE set(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
|
242
|
+
: base_t(ordered_range, first, last, Compare(), a)
|
243
|
+
{}
|
244
|
+
|
230
245
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
231
246
|
//! <b>Effects</b>: Constructs an empty set and
|
232
247
|
//! inserts elements from the range [il.begin(), il.end()).
|
@@ -734,6 +749,26 @@ class set
|
|
734
749
|
//! <b>Complexity</b>: Logarithmic.
|
735
750
|
const_iterator find(const key_type& x) const;
|
736
751
|
|
752
|
+
//! <b>Requires</b>: This overload is available only if
|
753
|
+
//! key_compare::is_transparent exists.
|
754
|
+
//!
|
755
|
+
//! <b>Returns</b>: An iterator pointing to an element with the key
|
756
|
+
//! equivalent to x, or end() if such an element is not found.
|
757
|
+
//!
|
758
|
+
//! <b>Complexity</b>: Logarithmic.
|
759
|
+
template<typename K>
|
760
|
+
iterator find(const K& x);
|
761
|
+
|
762
|
+
//! <b>Requires</b>: This overload is available only if
|
763
|
+
//! key_compare::is_transparent exists.
|
764
|
+
//!
|
765
|
+
//! <b>Returns</b>: A const_iterator pointing to an element with the key
|
766
|
+
//! equivalent to x, or end() if such an element is not found.
|
767
|
+
//!
|
768
|
+
//! <b>Complexity</b>: Logarithmic.
|
769
|
+
template<typename K>
|
770
|
+
const_iterator find(const K& x) const;
|
771
|
+
|
737
772
|
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
738
773
|
|
739
774
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
@@ -742,14 +777,34 @@ class set
|
|
742
777
|
BOOST_CONTAINER_FORCEINLINE size_type count(const key_type& x) const
|
743
778
|
{ return static_cast<size_type>(this->base_t::find(x) != this->base_t::cend()); }
|
744
779
|
|
780
|
+
//! <b>Requires</b>: This overload is available only if
|
781
|
+
//! key_compare::is_transparent exists.
|
782
|
+
//!
|
745
783
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
746
784
|
//!
|
747
785
|
//! <b>Complexity</b>: log(size())+count(k)
|
748
|
-
|
749
|
-
|
786
|
+
template<typename K>
|
787
|
+
BOOST_CONTAINER_FORCEINLINE size_type count(const K& x) const
|
788
|
+
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
750
789
|
|
751
790
|
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
752
791
|
|
792
|
+
//! <b>Returns</b>: Returns true if there is an element with key
|
793
|
+
//! equivalent to key in the container, otherwise false.
|
794
|
+
//!
|
795
|
+
//! <b>Complexity</b>: log(size()).
|
796
|
+
bool contains(const key_type& x) const;
|
797
|
+
|
798
|
+
//! <b>Requires</b>: This overload is available only if
|
799
|
+
//! key_compare::is_transparent exists.
|
800
|
+
//!
|
801
|
+
//! <b>Returns</b>: Returns true if there is an element with key
|
802
|
+
//! equivalent to key in the container, otherwise false.
|
803
|
+
//!
|
804
|
+
//! <b>Complexity</b>: log(size()).
|
805
|
+
template<typename K>
|
806
|
+
bool contains(const K& x) const;
|
807
|
+
|
753
808
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
754
809
|
//! than k, or a.end() if such an element is not found.
|
755
810
|
//!
|
@@ -762,6 +817,26 @@ class set
|
|
762
817
|
//! <b>Complexity</b>: Logarithmic
|
763
818
|
const_iterator lower_bound(const key_type& x) const;
|
764
819
|
|
820
|
+
//! <b>Requires</b>: This overload is available only if
|
821
|
+
//! key_compare::is_transparent exists.
|
822
|
+
//!
|
823
|
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
824
|
+
//! than k, or a.end() if such an element is not found.
|
825
|
+
//!
|
826
|
+
//! <b>Complexity</b>: Logarithmic
|
827
|
+
template<typename K>
|
828
|
+
iterator lower_bound(const K& x);
|
829
|
+
|
830
|
+
//! <b>Requires</b>: This overload is available only if
|
831
|
+
//! key_compare::is_transparent exists.
|
832
|
+
//!
|
833
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
834
|
+
//! less than k, or a.end() if such an element is not found.
|
835
|
+
//!
|
836
|
+
//! <b>Complexity</b>: Logarithmic
|
837
|
+
template<typename K>
|
838
|
+
const_iterator lower_bound(const K& x) const;
|
839
|
+
|
765
840
|
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
766
841
|
//! than x, or end() if such an element is not found.
|
767
842
|
//!
|
@@ -774,6 +849,26 @@ class set
|
|
774
849
|
//! <b>Complexity</b>: Logarithmic
|
775
850
|
const_iterator upper_bound(const key_type& x) const;
|
776
851
|
|
852
|
+
//! <b>Requires</b>: This overload is available only if
|
853
|
+
//! key_compare::is_transparent exists.
|
854
|
+
//!
|
855
|
+
//! <b>Returns</b>: An iterator pointing to the first element with key not less
|
856
|
+
//! than x, or end() if such an element is not found.
|
857
|
+
//!
|
858
|
+
//! <b>Complexity</b>: Logarithmic
|
859
|
+
template<typename K>
|
860
|
+
iterator upper_bound(const K& x);
|
861
|
+
|
862
|
+
//! <b>Requires</b>: This overload is available only if
|
863
|
+
//! key_compare::is_transparent exists.
|
864
|
+
//!
|
865
|
+
//! <b>Returns</b>: A const iterator pointing to the first element with key not
|
866
|
+
//! less than x, or end() if such an element is not found.
|
867
|
+
//!
|
868
|
+
//! <b>Complexity</b>: Logarithmic
|
869
|
+
template<typename K>
|
870
|
+
const_iterator upper_bound(const K& x) const;
|
871
|
+
|
777
872
|
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
778
873
|
|
779
874
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
@@ -788,17 +883,27 @@ class set
|
|
788
883
|
BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
789
884
|
{ return this->base_t::lower_bound_range(x); }
|
790
885
|
|
791
|
-
|
792
|
-
|
886
|
+
//! <b>Requires</b>: This overload is available only if
|
887
|
+
//! key_compare::is_transparent exists.
|
888
|
+
//!
|
793
889
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
794
890
|
//!
|
795
891
|
//! <b>Complexity</b>: Logarithmic
|
796
|
-
|
892
|
+
template<typename K>
|
893
|
+
BOOST_CONTAINER_FORCEINLINE std::pair<iterator,iterator> equal_range(const K& x)
|
894
|
+
{ return this->base_t::lower_bound_range(x); }
|
797
895
|
|
896
|
+
//! <b>Requires</b>: This overload is available only if
|
897
|
+
//! key_compare::is_transparent exists.
|
898
|
+
//!
|
798
899
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
799
900
|
//!
|
800
901
|
//! <b>Complexity</b>: Logarithmic
|
801
|
-
|
902
|
+
template<typename K>
|
903
|
+
BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator,const_iterator> equal_range(const K& x) const
|
904
|
+
{ return this->base_t::lower_bound_range(x); }
|
905
|
+
|
906
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
802
907
|
|
803
908
|
//! <b>Effects</b>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.
|
804
909
|
//!
|
@@ -854,6 +959,65 @@ class set
|
|
854
959
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
855
960
|
};
|
856
961
|
|
962
|
+
#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
|
963
|
+
|
964
|
+
template <typename InputIterator>
|
965
|
+
set(InputIterator, InputIterator) ->
|
966
|
+
set< it_based_value_type_t<InputIterator> >;
|
967
|
+
|
968
|
+
template < typename InputIterator, typename AllocatorOrCompare>
|
969
|
+
set(InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
970
|
+
set< it_based_value_type_t<InputIterator>
|
971
|
+
, typename dtl::if_c< // Compare
|
972
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
973
|
+
, std::less<it_based_value_type_t<InputIterator>>
|
974
|
+
, AllocatorOrCompare
|
975
|
+
>::type
|
976
|
+
, typename dtl::if_c< // Allocator
|
977
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
978
|
+
, AllocatorOrCompare
|
979
|
+
, new_allocator<it_based_value_type_t<InputIterator>>
|
980
|
+
>::type
|
981
|
+
>;
|
982
|
+
|
983
|
+
template < typename InputIterator, typename Compare, typename Allocator
|
984
|
+
, typename = dtl::require_nonallocator_t<Compare>
|
985
|
+
, typename = dtl::require_allocator_t<Allocator>>
|
986
|
+
set(InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
987
|
+
set< it_based_value_type_t<InputIterator>
|
988
|
+
, Compare
|
989
|
+
, Allocator>;
|
990
|
+
|
991
|
+
template <typename InputIterator>
|
992
|
+
set(ordered_unique_range_t, InputIterator, InputIterator) ->
|
993
|
+
set< it_based_value_type_t<InputIterator>>;
|
994
|
+
|
995
|
+
|
996
|
+
template < typename InputIterator, typename AllocatorOrCompare>
|
997
|
+
set(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
998
|
+
set< it_based_value_type_t<InputIterator>
|
999
|
+
, typename dtl::if_c< // Compare
|
1000
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
1001
|
+
, std::less<it_based_value_type_t<InputIterator>>
|
1002
|
+
, AllocatorOrCompare
|
1003
|
+
>::type
|
1004
|
+
, typename dtl::if_c< // Allocator
|
1005
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
1006
|
+
, AllocatorOrCompare
|
1007
|
+
, new_allocator<it_based_value_type_t<InputIterator>>
|
1008
|
+
>::type
|
1009
|
+
>;
|
1010
|
+
|
1011
|
+
template < typename InputIterator, typename Compare, typename Allocator
|
1012
|
+
, typename = dtl::require_nonallocator_t<Compare>
|
1013
|
+
, typename = dtl::require_allocator_t<Allocator>>
|
1014
|
+
set(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
1015
|
+
set< it_based_value_type_t<InputIterator>
|
1016
|
+
, Compare
|
1017
|
+
, Allocator>;
|
1018
|
+
|
1019
|
+
#endif
|
1020
|
+
|
857
1021
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
858
1022
|
|
859
1023
|
} //namespace container {
|
@@ -1024,6 +1188,20 @@ class multiset
|
|
1024
1188
|
: base_t(ordered_range, first, last, comp, a)
|
1025
1189
|
{}
|
1026
1190
|
|
1191
|
+
//! <b>Effects</b>: Constructs an empty multiset using the specified allocator and
|
1192
|
+
//! inserts elements from the ordered range [first ,last ). This function
|
1193
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
1194
|
+
//!
|
1195
|
+
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
|
1196
|
+
//!
|
1197
|
+
//! <b>Complexity</b>: Linear in N.
|
1198
|
+
//!
|
1199
|
+
//! <b>Note</b>: Non-standard extension.
|
1200
|
+
template <class InputIterator>
|
1201
|
+
BOOST_CONTAINER_FORCEINLINE multiset(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
|
1202
|
+
: base_t(ordered_range, first, last, Compare(), a)
|
1203
|
+
{}
|
1204
|
+
|
1027
1205
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
1028
1206
|
//! @copydoc ::boost::container::set::set(std::initializer_list<value_type>)
|
1029
1207
|
BOOST_CONTAINER_FORCEINLINE multiset(std::initializer_list<value_type> il)
|
@@ -1330,27 +1508,70 @@ class multiset
|
|
1330
1508
|
//! @copydoc ::boost::container::set::find(const key_type& ) const
|
1331
1509
|
const_iterator find(const key_type& x) const;
|
1332
1510
|
|
1511
|
+
//! @copydoc ::boost::container::set::find(const K& )
|
1512
|
+
template<typename K>
|
1513
|
+
iterator find(const K& x);
|
1514
|
+
|
1515
|
+
//! @copydoc ::boost::container::set::find(const K& )
|
1516
|
+
template<typename K>
|
1517
|
+
const_iterator find(const K& x) const;
|
1518
|
+
|
1333
1519
|
//! @copydoc ::boost::container::set::count(const key_type& ) const
|
1334
1520
|
size_type count(const key_type& x) const;
|
1335
1521
|
|
1522
|
+
//! @copydoc ::boost::container::set::count(const K& ) const
|
1523
|
+
template<typename K>
|
1524
|
+
size_type count(const K& x) const;
|
1525
|
+
|
1526
|
+
//! @copydoc ::boost::container::set::contains(const key_type& ) const
|
1527
|
+
bool contains(const key_type& x) const;
|
1528
|
+
|
1529
|
+
//! @copydoc ::boost::container::set::contains(const K& ) const
|
1530
|
+
template<typename K>
|
1531
|
+
bool contains(const K& x) const;
|
1532
|
+
|
1336
1533
|
//! @copydoc ::boost::container::set::lower_bound(const key_type& )
|
1337
1534
|
iterator lower_bound(const key_type& x);
|
1338
1535
|
|
1339
1536
|
//! @copydoc ::boost::container::set::lower_bound(const key_type& ) const
|
1340
1537
|
const_iterator lower_bound(const key_type& x) const;
|
1341
1538
|
|
1539
|
+
//! @copydoc ::boost::container::set::lower_bound(const K& )
|
1540
|
+
template<typename K>
|
1541
|
+
iterator lower_bound(const K& x);
|
1542
|
+
|
1543
|
+
//! @copydoc ::boost::container::set::lower_bound(const K& ) const
|
1544
|
+
template<typename K>
|
1545
|
+
const_iterator lower_bound(const K& x) const;
|
1546
|
+
|
1342
1547
|
//! @copydoc ::boost::container::set::upper_bound(const key_type& )
|
1343
1548
|
iterator upper_bound(const key_type& x);
|
1344
1549
|
|
1345
1550
|
//! @copydoc ::boost::container::set::upper_bound(const key_type& ) const
|
1346
1551
|
const_iterator upper_bound(const key_type& x) const;
|
1347
1552
|
|
1553
|
+
//! @copydoc ::boost::container::set::upper_bound(const K& )
|
1554
|
+
template<typename K>
|
1555
|
+
iterator upper_bound(const K& x);
|
1556
|
+
|
1557
|
+
//! @copydoc ::boost::container::set::upper_bound(const K& ) const
|
1558
|
+
template<typename K>
|
1559
|
+
const_iterator upper_bound(const K& x) const;
|
1560
|
+
|
1348
1561
|
//! @copydoc ::boost::container::set::equal_range(const key_type& ) const
|
1349
1562
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const;
|
1350
1563
|
|
1351
1564
|
//! @copydoc ::boost::container::set::equal_range(const key_type& )
|
1352
1565
|
std::pair<iterator,iterator> equal_range(const key_type& x);
|
1353
1566
|
|
1567
|
+
//! @copydoc ::boost::container::set::equal_range(const K& ) const
|
1568
|
+
template<typename K>
|
1569
|
+
std::pair<const_iterator, const_iterator> equal_range(const K& x) const;
|
1570
|
+
|
1571
|
+
//! @copydoc ::boost::container::set::equal_range(const K& )
|
1572
|
+
template<typename K>
|
1573
|
+
std::pair<iterator,iterator> equal_range(const K& x);
|
1574
|
+
|
1354
1575
|
//! @copydoc ::boost::container::set::rebalance()
|
1355
1576
|
void rebalance();
|
1356
1577
|
|
@@ -1404,6 +1625,65 @@ class multiset
|
|
1404
1625
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1405
1626
|
};
|
1406
1627
|
|
1628
|
+
#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
|
1629
|
+
|
1630
|
+
template <typename InputIterator>
|
1631
|
+
multiset(InputIterator, InputIterator) ->
|
1632
|
+
multiset< it_based_value_type_t<InputIterator> >;
|
1633
|
+
|
1634
|
+
|
1635
|
+
template < typename InputIterator, typename AllocatorOrCompare>
|
1636
|
+
multiset(InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
1637
|
+
multiset < it_based_value_type_t<InputIterator>
|
1638
|
+
, typename dtl::if_c< // Compare
|
1639
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
1640
|
+
, std::less<it_based_value_type_t<InputIterator>>
|
1641
|
+
, AllocatorOrCompare
|
1642
|
+
>::type
|
1643
|
+
, typename dtl::if_c< // Allocator
|
1644
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
1645
|
+
, AllocatorOrCompare
|
1646
|
+
, new_allocator<it_based_value_type_t<InputIterator>>
|
1647
|
+
>::type
|
1648
|
+
>;
|
1649
|
+
|
1650
|
+
template < typename InputIterator, typename Compare, typename Allocator
|
1651
|
+
, typename = dtl::require_nonallocator_t<Compare>
|
1652
|
+
, typename = dtl::require_allocator_t<Allocator>>
|
1653
|
+
multiset(InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
1654
|
+
multiset< it_based_value_type_t<InputIterator>
|
1655
|
+
, Compare
|
1656
|
+
, Allocator>;
|
1657
|
+
|
1658
|
+
template <typename InputIterator>
|
1659
|
+
multiset(ordered_range_t, InputIterator, InputIterator) ->
|
1660
|
+
multiset< it_based_value_type_t<InputIterator>>;
|
1661
|
+
|
1662
|
+
template < typename InputIterator, typename AllocatorOrCompare>
|
1663
|
+
multiset(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
1664
|
+
multiset < it_based_value_type_t<InputIterator>
|
1665
|
+
, typename dtl::if_c< // Compare
|
1666
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
1667
|
+
, std::less<it_based_value_type_t<InputIterator>>
|
1668
|
+
, AllocatorOrCompare
|
1669
|
+
>::type
|
1670
|
+
, typename dtl::if_c< // Allocator
|
1671
|
+
dtl::is_allocator<AllocatorOrCompare>::value
|
1672
|
+
, AllocatorOrCompare
|
1673
|
+
, new_allocator<it_based_value_type_t<InputIterator>>
|
1674
|
+
>::type
|
1675
|
+
>;
|
1676
|
+
|
1677
|
+
template < typename InputIterator, typename Compare, typename Allocator
|
1678
|
+
, typename = dtl::require_nonallocator_t<Compare>
|
1679
|
+
, typename = dtl::require_allocator_t<Allocator>>
|
1680
|
+
multiset(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
1681
|
+
multiset< it_based_value_type_t<InputIterator>
|
1682
|
+
, Compare
|
1683
|
+
, Allocator>;
|
1684
|
+
|
1685
|
+
#endif
|
1686
|
+
|
1407
1687
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1408
1688
|
|
1409
1689
|
} //namespace container {
|
@@ -71,26 +71,62 @@ struct slist_hook
|
|
71
71
|
<dtl::bi::void_pointer<VoidPointer>, dtl::bi::link_mode<dtl::bi::normal_link> >::type type;
|
72
72
|
};
|
73
73
|
|
74
|
+
|
74
75
|
template <class T, class VoidPointer>
|
75
76
|
struct slist_node
|
76
77
|
: public slist_hook<VoidPointer>::type
|
77
78
|
{
|
78
|
-
private:
|
79
|
-
slist_node();
|
80
|
-
|
81
79
|
public:
|
82
80
|
typedef T value_type;
|
81
|
+
typedef T internal_type;
|
83
82
|
typedef typename slist_hook<VoidPointer>::type hook_type;
|
84
83
|
|
85
|
-
T
|
84
|
+
typedef typename aligned_storage<sizeof(T), alignment_of<T>::value>::type storage_t;
|
85
|
+
storage_t m_storage;
|
86
|
+
|
87
|
+
#if defined(BOOST_GCC) && (BOOST_GCC >= 40600) && (BOOST_GCC < 80000)
|
88
|
+
#pragma GCC diagnostic push
|
89
|
+
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
90
|
+
#define BOOST_CONTAINER_DISABLE_ALIASING_WARNING
|
91
|
+
# endif
|
92
|
+
|
93
|
+
BOOST_CONTAINER_FORCEINLINE T &get_data()
|
94
|
+
{ return *reinterpret_cast<T*>(this->m_storage.data); }
|
95
|
+
|
96
|
+
BOOST_CONTAINER_FORCEINLINE const T &get_data() const
|
97
|
+
{ return *reinterpret_cast<const T*>(this->m_storage.data); }
|
98
|
+
|
99
|
+
BOOST_CONTAINER_FORCEINLINE T *get_data_ptr()
|
100
|
+
{ return reinterpret_cast<T*>(this->m_storage.data); }
|
101
|
+
|
102
|
+
BOOST_CONTAINER_FORCEINLINE const T *get_data_ptr() const
|
103
|
+
{ return reinterpret_cast<T*>(this->m_storage.data); }
|
104
|
+
|
105
|
+
BOOST_CONTAINER_FORCEINLINE internal_type &get_real_data()
|
106
|
+
{ return *reinterpret_cast<internal_type*>(this->m_storage.data); }
|
107
|
+
|
108
|
+
BOOST_CONTAINER_FORCEINLINE const internal_type &get_real_data() const
|
109
|
+
{ return *reinterpret_cast<const internal_type*>(this->m_storage.data); }
|
86
110
|
|
87
|
-
|
88
|
-
{ return this->
|
111
|
+
BOOST_CONTAINER_FORCEINLINE internal_type *get_real_data_ptr()
|
112
|
+
{ return reinterpret_cast<internal_type*>(this->m_storage.data); }
|
89
113
|
|
90
|
-
const
|
91
|
-
{ return this->
|
114
|
+
BOOST_CONTAINER_FORCEINLINE const internal_type *get_real_data_ptr() const
|
115
|
+
{ return reinterpret_cast<internal_type*>(this->m_storage.data); }
|
116
|
+
|
117
|
+
BOOST_CONTAINER_FORCEINLINE ~slist_node()
|
118
|
+
{ reinterpret_cast<T*>(this->m_storage.data)->~T(); }
|
119
|
+
|
120
|
+
#if defined(BOOST_CONTAINER_DISABLE_ALIASING_WARNING)
|
121
|
+
#pragma GCC diagnostic pop
|
122
|
+
#undef BOOST_CONTAINER_DISABLE_ALIASING_WARNING
|
123
|
+
# endif
|
124
|
+
|
125
|
+
BOOST_CONTAINER_FORCEINLINE void destroy_header()
|
126
|
+
{ static_cast<hook_type*>(this)->~hook_type(); }
|
92
127
|
};
|
93
128
|
|
129
|
+
|
94
130
|
template <class T, class VoidPointer>
|
95
131
|
struct iiterator_node_value_type< slist_node<T,VoidPointer> > {
|
96
132
|
typedef T type;
|
@@ -1632,6 +1668,18 @@ class slist
|
|
1632
1668
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
1633
1669
|
};
|
1634
1670
|
|
1671
|
+
#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
|
1672
|
+
|
1673
|
+
template <typename InpIt>
|
1674
|
+
slist(InpIt, InpIt) ->
|
1675
|
+
slist<typename iterator_traits<InpIt>::value_type>;
|
1676
|
+
|
1677
|
+
template <typename InpIt, typename Allocator>
|
1678
|
+
slist(InpIt, InpIt, Allocator const&) ->
|
1679
|
+
slist<typename iterator_traits<InpIt>::value_type, Allocator>;
|
1680
|
+
|
1681
|
+
#endif
|
1682
|
+
|
1635
1683
|
}}
|
1636
1684
|
|
1637
1685
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|