passenger 6.0.0 → 6.0.5
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 +148 -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 +1 -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 +13 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +4 -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/Perform.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 +14 -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 +57 -2
- 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 +9 -5
- 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 +48 -7
- 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
@@ -1,7 +1,9 @@
|
|
1
1
|
// Helper classes and functions for the circular buffer.
|
2
2
|
|
3
3
|
// Copyright (c) 2003-2008 Jan Gaspar
|
4
|
-
|
4
|
+
|
5
|
+
// Copyright 2014,2018 Glen Joseph Fernandes
|
6
|
+
// (glenjofe@gmail.com)
|
5
7
|
|
6
8
|
// Use, modification, and distribution is subject to the Boost Software
|
7
9
|
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
@@ -15,12 +17,11 @@
|
|
15
17
|
#endif
|
16
18
|
|
17
19
|
#include <boost/throw_exception.hpp>
|
18
|
-
#include <boost/
|
20
|
+
#include <boost/circular_buffer/allocators.hpp>
|
19
21
|
#include <boost/core/pointer_traits.hpp>
|
20
22
|
#include <boost/move/move.hpp>
|
21
23
|
#include <boost/type_traits/is_nothrow_move_constructible.hpp>
|
22
|
-
#include <boost/
|
23
|
-
#include <boost/detail/no_exceptions_support.hpp>
|
24
|
+
#include <boost/core/no_exceptions_support.hpp>
|
24
25
|
#include <iterator>
|
25
26
|
|
26
27
|
// Silence MS /W4 warnings like C4913:
|
@@ -56,7 +57,7 @@ struct const_traits {
|
|
56
57
|
// Basic types
|
57
58
|
typedef typename Traits::value_type value_type;
|
58
59
|
typedef typename Traits::const_pointer pointer;
|
59
|
-
typedef
|
60
|
+
typedef const value_type& reference;
|
60
61
|
typedef typename Traits::size_type size_type;
|
61
62
|
typedef typename Traits::difference_type difference_type;
|
62
63
|
|
@@ -73,7 +74,7 @@ struct nonconst_traits {
|
|
73
74
|
// Basic types
|
74
75
|
typedef typename Traits::value_type value_type;
|
75
76
|
typedef typename Traits::pointer pointer;
|
76
|
-
typedef
|
77
|
+
typedef value_type& reference;
|
77
78
|
typedef typename Traits::size_type size_type;
|
78
79
|
typedef typename Traits::difference_type difference_type;
|
79
80
|
|
@@ -113,7 +114,7 @@ private:
|
|
113
114
|
*/
|
114
115
|
template <class Value, class Alloc>
|
115
116
|
struct assign_n {
|
116
|
-
typedef typename
|
117
|
+
typedef typename allocator_traits<Alloc>::size_type size_type;
|
117
118
|
size_type m_n;
|
118
119
|
Value m_item;
|
119
120
|
Alloc& m_alloc;
|
@@ -195,46 +196,33 @@ public:
|
|
195
196
|
for iterating from begin() to end() of the circular buffer.
|
196
197
|
*/
|
197
198
|
template <class Buff, class Traits>
|
198
|
-
struct iterator
|
199
|
-
public std::iterator<
|
200
|
-
std::random_access_iterator_tag,
|
201
|
-
typename Traits::value_type,
|
202
|
-
typename Traits::difference_type,
|
203
|
-
typename Traits::pointer,
|
204
|
-
typename Traits::reference>
|
199
|
+
struct iterator
|
205
200
|
#if BOOST_CB_ENABLE_DEBUG
|
206
|
-
|
201
|
+
: public debug_iterator_base
|
207
202
|
#endif // #if BOOST_CB_ENABLE_DEBUG
|
208
203
|
{
|
209
204
|
// Helper types
|
210
205
|
|
211
|
-
//! Base iterator.
|
212
|
-
typedef std::iterator<
|
213
|
-
std::random_access_iterator_tag,
|
214
|
-
typename Traits::value_type,
|
215
|
-
typename Traits::difference_type,
|
216
|
-
typename Traits::pointer,
|
217
|
-
typename Traits::reference> base_iterator;
|
218
|
-
|
219
206
|
//! Non-const iterator.
|
220
207
|
typedef iterator<Buff, typename Traits::nonconst_self> nonconst_self;
|
221
208
|
|
222
209
|
// Basic types
|
210
|
+
typedef std::random_access_iterator_tag iterator_category;
|
223
211
|
|
224
212
|
//! The type of the elements stored in the circular buffer.
|
225
|
-
typedef typename
|
213
|
+
typedef typename Traits::value_type value_type;
|
226
214
|
|
227
215
|
//! Pointer to the element.
|
228
|
-
typedef typename
|
216
|
+
typedef typename Traits::pointer pointer;
|
229
217
|
|
230
218
|
//! Reference to the element.
|
231
|
-
typedef typename
|
219
|
+
typedef typename Traits::reference reference;
|
232
220
|
|
233
221
|
//! Size type.
|
234
222
|
typedef typename Traits::size_type size_type;
|
235
223
|
|
236
224
|
//! Difference type.
|
237
|
-
typedef typename
|
225
|
+
typedef typename Traits::difference_type difference_type;
|
238
226
|
|
239
227
|
// Member variables
|
240
228
|
|
@@ -436,10 +424,10 @@ inline ForwardIterator uninitialized_copy(InputIterator first, InputIterator las
|
|
436
424
|
ForwardIterator next = dest;
|
437
425
|
BOOST_TRY {
|
438
426
|
for (; first != last; ++first, ++dest)
|
439
|
-
|
427
|
+
allocator_traits<Alloc>::construct(a, boost::to_address(dest), *first);
|
440
428
|
} BOOST_CATCH(...) {
|
441
429
|
for (; next != dest; ++next)
|
442
|
-
|
430
|
+
allocator_traits<Alloc>::destroy(a, boost::to_address(next));
|
443
431
|
BOOST_RETHROW
|
444
432
|
}
|
445
433
|
BOOST_CATCH_END
|
@@ -450,7 +438,7 @@ template
|
|
450
438
|
ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a,
|
451
439
|
true_type) {
|
452
440
|
for (; first != last; ++first, ++dest)
|
453
|
-
|
441
|
+
allocator_traits<Alloc>::construct(a, boost::to_address(dest), boost::move(*first));
|
454
442
|
return dest;
|
455
443
|
}
|
456
444
|
|
@@ -466,7 +454,7 @@ ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIt
|
|
466
454
|
*/
|
467
455
|
template<class InputIterator, class ForwardIterator, class Alloc>
|
468
456
|
ForwardIterator uninitialized_move_if_noexcept(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a) {
|
469
|
-
typedef typename boost::is_nothrow_move_constructible<typename
|
457
|
+
typedef typename boost::is_nothrow_move_constructible<typename allocator_traits<Alloc>::value_type>::type tag_t;
|
470
458
|
return uninitialized_move_if_noexcept_impl(first, last, dest, a, tag_t());
|
471
459
|
}
|
472
460
|
|
@@ -479,10 +467,10 @@ inline void uninitialized_fill_n_with_alloc(ForwardIterator first, Diff n, const
|
|
479
467
|
ForwardIterator next = first;
|
480
468
|
BOOST_TRY {
|
481
469
|
for (; n > 0; ++first, --n)
|
482
|
-
|
470
|
+
allocator_traits<Alloc>::construct(alloc, boost::to_address(first), item);
|
483
471
|
} BOOST_CATCH(...) {
|
484
472
|
for (; next != first; ++next)
|
485
|
-
|
473
|
+
allocator_traits<Alloc>::destroy(alloc, boost::to_address(next));
|
486
474
|
BOOST_RETHROW
|
487
475
|
}
|
488
476
|
BOOST_CATCH_END
|
@@ -16,7 +16,7 @@
|
|
16
16
|
#endif
|
17
17
|
|
18
18
|
#include <boost/type_traits/is_same.hpp>
|
19
|
-
#include <boost/
|
19
|
+
#include <boost/config/workaround.hpp>
|
20
20
|
|
21
21
|
namespace boost {
|
22
22
|
|
@@ -509,7 +509,7 @@ public:
|
|
509
509
|
first, last, alloc)
|
510
510
|
, m_capacity_ctrl(capacity_ctrl) {
|
511
511
|
reduce_capacity(
|
512
|
-
is_same< BOOST_DEDUCED_TYPENAME
|
512
|
+
is_same< BOOST_DEDUCED_TYPENAME std::iterator_traits<InputIterator>::iterator_category, std::input_iterator_tag >());
|
513
513
|
}
|
514
514
|
|
515
515
|
#if defined(BOOST_CB_NEVER_DEFINED)
|
@@ -579,7 +579,7 @@ public:
|
|
579
579
|
*/
|
580
580
|
circular_buffer_space_optimized<T, Alloc>& operator = (circular_buffer_space_optimized<T, Alloc>&& cb) BOOST_NOEXCEPT {
|
581
581
|
cb.swap(*this); // now `this` holds `cb`
|
582
|
-
circular_buffer<T, Alloc>(get_allocator()) //
|
582
|
+
circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator
|
583
583
|
.swap(cb); // makes `cb` empty
|
584
584
|
return *this;
|
585
585
|
}
|
@@ -1605,10 +1605,10 @@ private:
|
|
1605
1605
|
const false_type&) {
|
1606
1606
|
BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
|
1607
1607
|
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
|
1608
|
-
return init_capacity(capacity_ctrl, first, last,
|
1608
|
+
return init_capacity(capacity_ctrl, first, last, std::iterator_traits<Iterator>::iterator_category());
|
1609
1609
|
#else
|
1610
1610
|
return init_capacity(
|
1611
|
-
capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME
|
1611
|
+
capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
|
1612
1612
|
#endif
|
1613
1613
|
}
|
1614
1614
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# define BOOST_CONCEPT_ASSERT_DWA2006430_HPP
|
6
6
|
|
7
7
|
# include <boost/config.hpp>
|
8
|
-
# include <boost/
|
8
|
+
# include <boost/config/workaround.hpp>
|
9
9
|
|
10
10
|
// The old protocol used a constraints() member function in concept
|
11
11
|
// checking classes. If the compiler supports SFINAE, we can detect
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
# ifdef BOOST_OLD_CONCEPT_SUPPORT
|
12
12
|
# include <boost/concept/detail/has_constraints.hpp>
|
13
|
-
# include <boost/
|
13
|
+
# include <boost/type_traits/conditional.hpp>
|
14
14
|
# endif
|
15
15
|
|
16
16
|
// This implementation works on Comeau and GCC, all the way back to
|
@@ -49,8 +49,8 @@ struct constraint
|
|
49
49
|
|
50
50
|
template <class Model>
|
51
51
|
struct requirement_<void(*)(Model)>
|
52
|
-
:
|
53
|
-
concepts::not_satisfied<Model
|
52
|
+
: boost::conditional<
|
53
|
+
concepts::not_satisfied<Model>::value
|
54
54
|
, constraint<Model>
|
55
55
|
, requirement<failed ************ Model::************>
|
56
56
|
>::type
|
@@ -4,8 +4,8 @@
|
|
4
4
|
#ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
|
5
5
|
# define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
|
6
6
|
|
7
|
-
# include <boost/
|
8
|
-
# include <boost/
|
7
|
+
# include <boost/type_traits/integral_constant.hpp>
|
8
|
+
# include <boost/config/workaround.hpp>
|
9
9
|
# include <boost/concept/detail/backward_compatibility.hpp>
|
10
10
|
|
11
11
|
namespace boost { namespace concepts {
|
@@ -42,7 +42,7 @@ struct not_satisfied
|
|
42
42
|
BOOST_STATIC_CONSTANT(
|
43
43
|
bool
|
44
44
|
, value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
|
45
|
-
typedef
|
45
|
+
typedef boost::integral_constant<bool, value> type;
|
46
46
|
};
|
47
47
|
|
48
48
|
}} // namespace boost::concepts::detail
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# define BOOST_CONCEPT_USAGE_DWA2006919_HPP
|
6
6
|
|
7
7
|
# include <boost/concept/assert.hpp>
|
8
|
-
# include <boost/
|
8
|
+
# include <boost/config/workaround.hpp>
|
9
9
|
# include <boost/concept/detail/backward_compatibility.hpp>
|
10
10
|
|
11
11
|
namespace boost { namespace concepts {
|
@@ -24,9 +24,9 @@
|
|
24
24
|
# include <utility>
|
25
25
|
# include <boost/type_traits/is_same.hpp>
|
26
26
|
# include <boost/type_traits/is_void.hpp>
|
27
|
-
# include <boost/
|
28
|
-
# include <boost/
|
29
|
-
# include <boost/
|
27
|
+
# include <boost/static_assert.hpp>
|
28
|
+
# include <boost/type_traits/integral_constant.hpp>
|
29
|
+
# include <boost/config/workaround.hpp>
|
30
30
|
|
31
31
|
# include <boost/concept/usage.hpp>
|
32
32
|
# include <boost/concept/detail/concept_def.hpp>
|
@@ -301,14 +301,14 @@ namespace boost
|
|
301
301
|
BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
|
302
302
|
|
303
303
|
private:
|
304
|
-
void test(boost::
|
304
|
+
void test(boost::false_type)
|
305
305
|
{
|
306
306
|
// Do we really want a reference here?
|
307
307
|
const Return& r = f();
|
308
308
|
ignore_unused_variable_warning(r);
|
309
309
|
}
|
310
310
|
|
311
|
-
void test(boost::
|
311
|
+
void test(boost::true_type)
|
312
312
|
{
|
313
313
|
f();
|
314
314
|
}
|
@@ -321,22 +321,22 @@ namespace boost
|
|
321
321
|
BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
|
322
322
|
|
323
323
|
private:
|
324
|
-
void test(boost::
|
324
|
+
void test(boost::false_type)
|
325
325
|
{
|
326
326
|
f(arg); // "priming the pump" this way keeps msvc6 happy (ICE)
|
327
327
|
Return r = f(arg);
|
328
328
|
ignore_unused_variable_warning(r);
|
329
329
|
}
|
330
330
|
|
331
|
-
void test(boost::
|
331
|
+
void test(boost::true_type)
|
332
332
|
{
|
333
333
|
f(arg);
|
334
334
|
}
|
335
335
|
|
336
336
|
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
|
337
337
|
&& BOOST_WORKAROUND(__GNUC__, > 3)))
|
338
|
-
// Declare a dummy
|
339
|
-
// It seems the compiler can not generate a sensible constructor when this is instantiated with a
|
338
|
+
// Declare a dummy constructor to make gcc happy.
|
339
|
+
// It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
|
340
340
|
// (warning: non-static reference "const double& boost::UnaryFunction<YourClassHere>::arg"
|
341
341
|
// in class without a constructor [-Wuninitialized])
|
342
342
|
UnaryFunction();
|
@@ -350,14 +350,14 @@ namespace boost
|
|
350
350
|
{
|
351
351
|
BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
|
352
352
|
private:
|
353
|
-
void test(boost::
|
353
|
+
void test(boost::false_type)
|
354
354
|
{
|
355
355
|
f(first,second);
|
356
356
|
Return r = f(first, second); // require operator()
|
357
357
|
(void)r;
|
358
358
|
}
|
359
359
|
|
360
|
-
void test(boost::
|
360
|
+
void test(boost::true_type)
|
361
361
|
{
|
362
362
|
f(first,second);
|
363
363
|
}
|
@@ -365,7 +365,7 @@ namespace boost
|
|
365
365
|
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
|
366
366
|
&& BOOST_WORKAROUND(__GNUC__, > 3)))
|
367
367
|
// Declare a dummy constructor to make gcc happy.
|
368
|
-
// It seems the compiler can not generate a sensible constructor when this is instantiated with a
|
368
|
+
// It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
|
369
369
|
// (warning: non-static reference "const double& boost::BinaryFunction<YourClassHere>::arg"
|
370
370
|
// in class without a constructor [-Wuninitialized])
|
371
371
|
BinaryFunction();
|
@@ -385,7 +385,7 @@ namespace boost
|
|
385
385
|
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
|
386
386
|
&& BOOST_WORKAROUND(__GNUC__, > 3)))
|
387
387
|
// Declare a dummy constructor to make gcc happy.
|
388
|
-
// It seems the compiler can not generate a sensible constructor when this is instantiated with a
|
388
|
+
// It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
|
389
389
|
// (warning: non-static reference "const double& boost::UnaryPredicate<YourClassHere>::arg"
|
390
390
|
// in class without a constructor [-Wuninitialized])
|
391
391
|
UnaryPredicate();
|
@@ -404,7 +404,7 @@ namespace boost
|
|
404
404
|
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
|
405
405
|
&& BOOST_WORKAROUND(__GNUC__, > 3)))
|
406
406
|
// Declare a dummy constructor to make gcc happy.
|
407
|
-
// It seems the compiler can not generate a sensible constructor when this is instantiated with a
|
407
|
+
// It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
|
408
408
|
// (warning: non-static reference "const double& boost::BinaryPredicate<YourClassHere>::arg"
|
409
409
|
// in class without a constructor [-Wuninitialized])
|
410
410
|
BinaryPredicate();
|
@@ -429,7 +429,7 @@ namespace boost
|
|
429
429
|
#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
|
430
430
|
&& BOOST_WORKAROUND(__GNUC__, > 3)))
|
431
431
|
// Declare a dummy constructor to make gcc happy.
|
432
|
-
// It seems the compiler can not generate a sensible constructor when this is instantiated with a
|
432
|
+
// It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
|
433
433
|
// (warning: non-static reference "const double& boost::Const_BinaryPredicate<YourClassHere>::arg"
|
434
434
|
// in class without a constructor [-Wuninitialized])
|
435
435
|
Const_BinaryPredicate();
|
@@ -734,8 +734,8 @@ namespace boost
|
|
734
734
|
private:
|
735
735
|
void const_constraints(const C& cc)
|
736
736
|
{
|
737
|
-
const_reverse_iterator
|
738
|
-
|
737
|
+
const_reverse_iterator _i = cc.rbegin();
|
738
|
+
_i = cc.rend();
|
739
739
|
}
|
740
740
|
C c;
|
741
741
|
};
|
@@ -966,7 +966,7 @@ namespace boost
|
|
966
966
|
{
|
967
967
|
typedef typename C::key_type key_type;
|
968
968
|
typedef typename C::value_type value_type;
|
969
|
-
|
969
|
+
BOOST_STATIC_ASSERT((boost::is_same<key_type,value_type>::value));
|
970
970
|
}
|
971
971
|
};
|
972
972
|
|
@@ -979,7 +979,7 @@ namespace boost
|
|
979
979
|
typedef typename C::value_type value_type;
|
980
980
|
typedef typename C::mapped_type mapped_type;
|
981
981
|
typedef std::pair<const key_type, mapped_type> required_value_type;
|
982
|
-
|
982
|
+
BOOST_STATIC_ASSERT((boost::is_same<value_type,required_value_type>::value));
|
983
983
|
}
|
984
984
|
};
|
985
985
|
|
@@ -28,6 +28,9 @@ BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
|
|
28
28
|
BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
|
29
29
|
This is essentially the same as the default name-mangled version, but without
|
30
30
|
the compiler name and version, or the Boost version. Just the build options.
|
31
|
+
BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option.
|
32
|
+
This is essentially the same as the non-name-mangled version, but with
|
33
|
+
the prefix to differentiate static and dll builds
|
31
34
|
|
32
35
|
These macros will be undef'ed at the end of the header, further this header
|
33
36
|
has no include guards - so be sure to include it only once from your library!
|
@@ -406,6 +409,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
406
409
|
# ifdef BOOST_LIB_DIAGNOSTIC
|
407
410
|
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
|
408
411
|
# endif
|
412
|
+
#elif defined(BOOST_AUTO_LINK_SYSTEM)
|
413
|
+
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
414
|
+
# ifdef BOOST_LIB_DIAGNOSTIC
|
415
|
+
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
416
|
+
# endif
|
409
417
|
#elif defined(BOOST_AUTO_LINK_NOMANGLE)
|
410
418
|
# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
411
419
|
# ifdef BOOST_LIB_DIAGNOSTIC
|
@@ -19,9 +19,9 @@
|
|
19
19
|
// last known compiler version:
|
20
20
|
#if (__BORLANDC__ > 0x613)
|
21
21
|
//# if defined(BOOST_ASSERT_CONFIG)
|
22
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
22
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
23
23
|
//# else
|
24
|
-
//# pragma message( "Unknown compiler version - please run the configure tests and report the results")
|
24
|
+
//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
|
25
25
|
//# endif
|
26
26
|
#elif (__BORLANDC__ == 0x600)
|
27
27
|
# error "CBuilderX preview compiler is no longer supported"
|
@@ -239,6 +239,9 @@
|
|
239
239
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
240
240
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
241
241
|
#endif
|
242
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
243
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
244
|
+
#endif
|
242
245
|
|
243
246
|
#if __BORLANDC__ >= 0x590
|
244
247
|
# define BOOST_HAS_TR1_HASH
|
@@ -104,9 +104,9 @@
|
|
104
104
|
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
105
105
|
#else
|
106
106
|
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
107
|
+
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
107
108
|
# define BOOST_SYMBOL_IMPORT
|
108
109
|
#endif
|
109
|
-
#define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
110
110
|
|
111
111
|
//
|
112
112
|
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
|
@@ -294,6 +294,10 @@
|
|
294
294
|
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
295
295
|
#endif
|
296
296
|
|
297
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
298
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
299
|
+
#endif
|
300
|
+
|
297
301
|
// Clang 3.9+ in c++1z
|
298
302
|
#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
|
299
303
|
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
@@ -22,9 +22,9 @@
|
|
22
22
|
// last known and checked version is 0x621
|
23
23
|
#if (__CODEGEARC__ > 0x621)
|
24
24
|
# if defined(BOOST_ASSERT_CONFIG)
|
25
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
25
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
26
26
|
# else
|
27
|
-
# pragma message( "Unknown compiler version - please run the configure tests and report the results")
|
27
|
+
# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
|
28
28
|
# endif
|
29
29
|
#endif
|
30
30
|
|
@@ -167,6 +167,10 @@
|
|
167
167
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
168
168
|
#endif
|
169
169
|
|
170
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
171
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
172
|
+
#endif
|
173
|
+
|
170
174
|
//
|
171
175
|
// TR1 macros:
|
172
176
|
//
|