passenger 6.0.2 → 6.0.7
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 +152 -19
- data/CONTRIBUTING.md +1 -1
- data/CONTRIBUTORS +5 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-memory-stats +65 -12
- 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/dist/bundle.js +1 -1
- data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +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 +1 -0
- data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
- 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 +2 -0
- data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -1
- data/src/agent/Core/ApplicationPool/Options.h +19 -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 +15 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +9 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +5 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Config.h +11 -0
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +13 -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/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +16 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +40 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +10 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +6 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +26 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +34 -0
- data/src/apache2_module/Hooks.cpp +5 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
- data/src/cxx_supportlib/Constants.h +4 -2
- data/src/cxx_supportlib/Hooks.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -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/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +5 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +27 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +14 -1
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +30 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +42 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +9 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +15 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/ngx_http_passenger_module.c +3 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +35 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- 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 +7 -6
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +13 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- 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
@@ -43,7 +43,6 @@ namespace boost {
|
|
43
43
|
The result is given as an \c iterator_range delimiting the match.
|
44
44
|
|
45
45
|
\param Search A substring to be searched for.
|
46
|
-
\param Comp An element comparison predicate
|
47
46
|
\return An instance of the \c first_finder object
|
48
47
|
*/
|
49
48
|
template<typename RangeT>
|
@@ -84,7 +83,6 @@ namespace boost {
|
|
84
83
|
The result is given as an \c iterator_range delimiting the match.
|
85
84
|
|
86
85
|
\param Search A substring to be searched for.
|
87
|
-
\param Comp An element comparison predicate
|
88
86
|
\return An instance of the \c last_finder object
|
89
87
|
*/
|
90
88
|
template<typename RangeT>
|
@@ -124,7 +122,6 @@ namespace boost {
|
|
124
122
|
|
125
123
|
\param Search A substring to be searched for.
|
126
124
|
\param Nth An index of the match to be find
|
127
|
-
\param Comp An element comparison predicate
|
128
125
|
\return An instance of the \c nth_finder object
|
129
126
|
*/
|
130
127
|
template<typename RangeT>
|
@@ -230,7 +227,6 @@ namespace boost {
|
|
230
227
|
|
231
228
|
\param Begin Beginning of the range
|
232
229
|
\param End End of the range
|
233
|
-
\param Range The range.
|
234
230
|
\return An instance of the \c range_finger object
|
235
231
|
*/
|
236
232
|
template< typename ForwardIteratorT >
|
@@ -23,7 +23,6 @@
|
|
23
23
|
#include <string>
|
24
24
|
#include <vector>
|
25
25
|
#include <boost/asio/detail/array_fwd.hpp>
|
26
|
-
#include <boost/asio/detail/is_buffer_sequence.hpp>
|
27
26
|
#include <boost/asio/detail/string_view.hpp>
|
28
27
|
#include <boost/asio/detail/throw_exception.hpp>
|
29
28
|
#include <boost/asio/detail/type_traits.hpp>
|
@@ -347,41 +346,6 @@ public:
|
|
347
346
|
|
348
347
|
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
349
348
|
|
350
|
-
/// Trait to determine whether a type satisfies the MutableBufferSequence
|
351
|
-
/// requirements.
|
352
|
-
template <typename T>
|
353
|
-
struct is_mutable_buffer_sequence
|
354
|
-
#if defined(GENERATING_DOCUMENTATION)
|
355
|
-
: integral_constant<bool, automatically_determined>
|
356
|
-
#else // defined(GENERATING_DOCUMENTATION)
|
357
|
-
: boost::asio::detail::is_buffer_sequence<T, mutable_buffer>
|
358
|
-
#endif // defined(GENERATING_DOCUMENTATION)
|
359
|
-
{
|
360
|
-
};
|
361
|
-
|
362
|
-
/// Trait to determine whether a type satisfies the ConstBufferSequence
|
363
|
-
/// requirements.
|
364
|
-
template <typename T>
|
365
|
-
struct is_const_buffer_sequence
|
366
|
-
#if defined(GENERATING_DOCUMENTATION)
|
367
|
-
: integral_constant<bool, automatically_determined>
|
368
|
-
#else // defined(GENERATING_DOCUMENTATION)
|
369
|
-
: boost::asio::detail::is_buffer_sequence<T, const_buffer>
|
370
|
-
#endif // defined(GENERATING_DOCUMENTATION)
|
371
|
-
{
|
372
|
-
};
|
373
|
-
|
374
|
-
/// Trait to determine whether a type satisfies the DynamicBuffer requirements.
|
375
|
-
template <typename T>
|
376
|
-
struct is_dynamic_buffer
|
377
|
-
#if defined(GENERATING_DOCUMENTATION)
|
378
|
-
: integral_constant<bool, automatically_determined>
|
379
|
-
#else // defined(GENERATING_DOCUMENTATION)
|
380
|
-
: boost::asio::detail::is_dynamic_buffer<T>
|
381
|
-
#endif // defined(GENERATING_DOCUMENTATION)
|
382
|
-
{
|
383
|
-
};
|
384
|
-
|
385
349
|
/// (Deprecated: Use the socket/descriptor wait() and async_wait() member
|
386
350
|
/// functions.) An implementation of both the ConstBufferSequence and
|
387
351
|
/// MutableBufferSequence concepts to represent a null buffer sequence.
|
@@ -1404,7 +1368,7 @@ inline BOOST_ASIO_MUTABLE_BUFFER buffer(
|
|
1404
1368
|
);
|
1405
1369
|
}
|
1406
1370
|
|
1407
|
-
/// Create a new
|
1371
|
+
/// Create a new modifiable buffer that represents the given string.
|
1408
1372
|
/**
|
1409
1373
|
* @returns A mutable_buffer value equivalent to:
|
1410
1374
|
* @code mutable_buffer(
|
@@ -2159,6 +2123,51 @@ inline std::size_t buffer_copy(const MutableBufferSequence& target,
|
|
2159
2123
|
} // namespace asio
|
2160
2124
|
} // namespace boost
|
2161
2125
|
|
2126
|
+
#include <boost/asio/detail/pop_options.hpp>
|
2127
|
+
#include <boost/asio/detail/is_buffer_sequence.hpp>
|
2128
|
+
#include <boost/asio/detail/push_options.hpp>
|
2129
|
+
|
2130
|
+
namespace boost {
|
2131
|
+
namespace asio {
|
2132
|
+
|
2133
|
+
/// Trait to determine whether a type satisfies the MutableBufferSequence
|
2134
|
+
/// requirements.
|
2135
|
+
template <typename T>
|
2136
|
+
struct is_mutable_buffer_sequence
|
2137
|
+
#if defined(GENERATING_DOCUMENTATION)
|
2138
|
+
: integral_constant<bool, automatically_determined>
|
2139
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
2140
|
+
: boost::asio::detail::is_buffer_sequence<T, mutable_buffer>
|
2141
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
2142
|
+
{
|
2143
|
+
};
|
2144
|
+
|
2145
|
+
/// Trait to determine whether a type satisfies the ConstBufferSequence
|
2146
|
+
/// requirements.
|
2147
|
+
template <typename T>
|
2148
|
+
struct is_const_buffer_sequence
|
2149
|
+
#if defined(GENERATING_DOCUMENTATION)
|
2150
|
+
: integral_constant<bool, automatically_determined>
|
2151
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
2152
|
+
: boost::asio::detail::is_buffer_sequence<T, const_buffer>
|
2153
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
2154
|
+
{
|
2155
|
+
};
|
2156
|
+
|
2157
|
+
/// Trait to determine whether a type satisfies the DynamicBuffer requirements.
|
2158
|
+
template <typename T>
|
2159
|
+
struct is_dynamic_buffer
|
2160
|
+
#if defined(GENERATING_DOCUMENTATION)
|
2161
|
+
: integral_constant<bool, automatically_determined>
|
2162
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
2163
|
+
: boost::asio::detail::is_dynamic_buffer<T>
|
2164
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
2165
|
+
{
|
2166
|
+
};
|
2167
|
+
|
2168
|
+
} // namespace asio
|
2169
|
+
} // namespace boost
|
2170
|
+
|
2162
2171
|
#include <boost/asio/detail/pop_options.hpp>
|
2163
2172
|
|
2164
2173
|
#endif // BOOST_ASIO_BUFFER_HPP
|
@@ -59,7 +59,8 @@ struct is_endpoint_sequence
|
|
59
59
|
/**
|
60
60
|
* @defgroup connect boost::asio::connect
|
61
61
|
*
|
62
|
-
* @brief
|
62
|
+
* @brief The @c connect function is a composed operation that establishes a
|
63
|
+
* socket connection by trying each endpoint in a sequence.
|
63
64
|
*/
|
64
65
|
/*@{*/
|
65
66
|
|
@@ -132,8 +133,8 @@ typename Protocol::endpoint connect(
|
|
132
133
|
EndpointSequence>::value>::type* = 0);
|
133
134
|
|
134
135
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
135
|
-
/// (Deprecated.) Establishes a socket connection by trying
|
136
|
-
/// sequence.
|
136
|
+
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
137
|
+
/// each endpoint in a sequence.
|
137
138
|
/**
|
138
139
|
* This function attempts to connect a socket to one of a sequence of
|
139
140
|
* endpoints. It does this by repeated calls to the socket's @c connect member
|
@@ -160,8 +161,8 @@ template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
160
161
|
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
|
161
162
|
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
162
163
|
|
163
|
-
/// (Deprecated.) Establishes a socket connection by trying
|
164
|
-
/// sequence.
|
164
|
+
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
165
|
+
/// each endpoint in a sequence.
|
165
166
|
/**
|
166
167
|
* This function attempts to connect a socket to one of a sequence of
|
167
168
|
* endpoints. It does this by repeated calls to the socket's @c connect member
|
@@ -387,8 +388,8 @@ typename Protocol::endpoint connect(
|
|
387
388
|
EndpointSequence>::value>::type* = 0);
|
388
389
|
|
389
390
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
390
|
-
/// (Deprecated.) Establishes a socket connection by trying
|
391
|
-
/// sequence.
|
391
|
+
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
392
|
+
/// each endpoint in a sequence.
|
392
393
|
/**
|
393
394
|
* This function attempts to connect a socket to one of a sequence of
|
394
395
|
* endpoints. It does this by repeated calls to the socket's @c connect member
|
@@ -428,8 +429,8 @@ Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
428
429
|
Iterator begin, ConnectCondition connect_condition,
|
429
430
|
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
430
431
|
|
431
|
-
/// (Deprecated.) Establishes a socket connection by trying
|
432
|
-
/// sequence.
|
432
|
+
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
433
|
+
/// each endpoint in a sequence.
|
433
434
|
/**
|
434
435
|
* This function attempts to connect a socket to one of a sequence of
|
435
436
|
* endpoints. It does this by repeated calls to the socket's @c connect member
|
@@ -603,8 +604,8 @@ Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
603
604
|
/**
|
604
605
|
* @defgroup async_connect boost::asio::async_connect
|
605
606
|
*
|
606
|
-
* @brief
|
607
|
-
* endpoint in a sequence.
|
607
|
+
* @brief The @c async_connect function is a composed asynchronous operation
|
608
|
+
* that establishes a socket connection by trying each endpoint in a sequence.
|
608
609
|
*/
|
609
610
|
/*@{*/
|
610
611
|
|
@@ -680,8 +681,8 @@ async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
680
681
|
EndpointSequence>::value>::type* = 0);
|
681
682
|
|
682
683
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
683
|
-
/// (Deprecated.) Asynchronously establishes a socket
|
684
|
-
/// endpoint in a sequence.
|
684
|
+
/// (Deprecated: Use range overload.) Asynchronously establishes a socket
|
685
|
+
/// connection by trying each endpoint in a sequence.
|
685
686
|
/**
|
686
687
|
* This function attempts to connect a socket to one of a sequence of
|
687
688
|
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
@@ -887,8 +888,8 @@ async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
887
888
|
EndpointSequence>::value>::type* = 0);
|
888
889
|
|
889
890
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
890
|
-
/// (Deprecated.) Asynchronously establishes a socket
|
891
|
-
/// endpoint in a sequence.
|
891
|
+
/// (Deprecated: Use range overload.) Asynchronously establishes a socket
|
892
|
+
/// connection by trying each endpoint in a sequence.
|
892
893
|
/**
|
893
894
|
* This function attempts to connect a socket to one of a sequence of
|
894
895
|
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
@@ -70,9 +70,6 @@
|
|
70
70
|
# define BOOST_ASIO_MSVC _MSC_VER
|
71
71
|
# endif // defined(BOOST_ASIO_HAS_BOOST_CONFIG) && defined(BOOST_MSVC)
|
72
72
|
#endif // !defined(BOOST_ASIO_MSVC)
|
73
|
-
#if defined(BOOST_ASIO_MSVC)
|
74
|
-
# include <ciso646> // Needed for _HAS_CXX17.
|
75
|
-
#endif // defined(BOOST_ASIO_MSVC)
|
76
73
|
|
77
74
|
// Clang / libc++ detection.
|
78
75
|
#if defined(__clang__)
|
@@ -111,6 +108,14 @@
|
|
111
108
|
# define BOOST_ASIO_HAS_MOVE 1
|
112
109
|
# endif // (_MSC_VER >= 1700)
|
113
110
|
# endif // defined(BOOST_ASIO_MSVC)
|
111
|
+
# if defined(__INTEL_CXX11_MODE__)
|
112
|
+
# if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500)
|
113
|
+
# define BOOST_ASIO_HAS_MOVE 1
|
114
|
+
# endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500)
|
115
|
+
# if defined(__ICL) && (__ICL >= 1500)
|
116
|
+
# define BOOST_ASIO_HAS_MOVE 1
|
117
|
+
# endif // defined(__ICL) && (__ICL >= 1500)
|
118
|
+
# endif // defined(__INTEL_CXX11_MODE__)
|
114
119
|
# endif // !defined(BOOST_ASIO_DISABLE_MOVE)
|
115
120
|
#endif // !defined(BOOST_ASIO_HAS_MOVE)
|
116
121
|
|
@@ -229,7 +234,7 @@
|
|
229
234
|
// Support noexcept on compilers known to allow it.
|
230
235
|
#if !defined(BOOST_ASIO_NOEXCEPT)
|
231
236
|
# if !defined(BOOST_ASIO_DISABLE_NOEXCEPT)
|
232
|
-
# if (BOOST_VERSION >= 105300)
|
237
|
+
# if defined(BOOST_ASIO_HAS_BOOST_CONFIG) && (BOOST_VERSION >= 105300)
|
233
238
|
# define BOOST_ASIO_NOEXCEPT BOOST_NOEXCEPT
|
234
239
|
# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW BOOST_NOEXCEPT_OR_NOTHROW
|
235
240
|
# elif defined(__clang__)
|
@@ -759,9 +764,7 @@
|
|
759
764
|
# if defined(__GNUC__)
|
760
765
|
# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
|
761
766
|
# if defined(__GXX_EXPERIMENTAL_CXX0X__)
|
762
|
-
#
|
763
|
-
# define BOOST_ASIO_HAS_STD_FUTURE 1
|
764
|
-
# endif // defined(_GLIBCXX_HAS_GTHREADS)
|
767
|
+
# define BOOST_ASIO_HAS_STD_FUTURE 1
|
765
768
|
# endif // defined(__GXX_EXPERIMENTAL_CXX0X__)
|
766
769
|
# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
|
767
770
|
# endif // defined(__GNUC__)
|
@@ -777,23 +780,29 @@
|
|
777
780
|
#if !defined(BOOST_ASIO_HAS_STD_STRING_VIEW)
|
778
781
|
# if !defined(BOOST_ASIO_DISABLE_STD_STRING_VIEW)
|
779
782
|
# if defined(__clang__)
|
780
|
-
# if (
|
781
|
-
# if
|
782
|
-
#
|
783
|
-
#
|
784
|
-
#
|
785
|
-
#
|
786
|
-
#
|
783
|
+
# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
784
|
+
# if (__cplusplus >= 201402)
|
785
|
+
# if __has_include(<string_view>)
|
786
|
+
# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
|
787
|
+
# endif // __has_include(<string_view>)
|
788
|
+
# endif // (__cplusplus >= 201402)
|
789
|
+
# else // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
790
|
+
# if (__cplusplus >= 201703)
|
791
|
+
# if __has_include(<string_view>)
|
792
|
+
# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
|
793
|
+
# endif // __has_include(<string_view>)
|
794
|
+
# endif // (__cplusplus >= 201703)
|
795
|
+
# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
796
|
+
# elif defined(__GNUC__)
|
787
797
|
# if (__GNUC__ >= 7)
|
788
798
|
# if (__cplusplus >= 201703)
|
789
799
|
# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
|
790
800
|
# endif // (__cplusplus >= 201703)
|
791
801
|
# endif // (__GNUC__ >= 7)
|
792
|
-
#
|
793
|
-
#
|
794
|
-
#
|
795
|
-
#
|
796
|
-
# endif // (_MSC_VER >= 1910 && _HAS_CXX17)
|
802
|
+
# elif defined(BOOST_ASIO_MSVC)
|
803
|
+
# if (_MSC_VER >= 1910 && _MSVC_LANG >= 201703)
|
804
|
+
# define BOOST_ASIO_HAS_STD_STRING_VIEW 1
|
805
|
+
# endif // (_MSC_VER >= 1910 && _MSVC_LANG >= 201703)
|
797
806
|
# endif // defined(BOOST_ASIO_MSVC)
|
798
807
|
# endif // !defined(BOOST_ASIO_DISABLE_STD_STRING_VIEW)
|
799
808
|
#endif // !defined(BOOST_ASIO_HAS_STD_STRING_VIEW)
|
@@ -802,11 +811,21 @@
|
|
802
811
|
#if !defined(BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
|
803
812
|
# if !defined(BOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
|
804
813
|
# if defined(__clang__)
|
805
|
-
# if (
|
806
|
-
# if
|
807
|
-
#
|
808
|
-
#
|
809
|
-
#
|
814
|
+
# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
815
|
+
# if (_LIBCPP_VERSION < 7000)
|
816
|
+
# if (__cplusplus >= 201402)
|
817
|
+
# if __has_include(<experimental/string_view>)
|
818
|
+
# define BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
819
|
+
# endif // __has_include(<experimental/string_view>)
|
820
|
+
# endif // (__cplusplus >= 201402)
|
821
|
+
# endif // (_LIBCPP_VERSION < 7000)
|
822
|
+
# else // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
823
|
+
# if (__cplusplus >= 201402)
|
824
|
+
# if __has_include(<experimental/string_view>)
|
825
|
+
# define BOOST_ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
826
|
+
# endif // __has_include(<experimental/string_view>)
|
827
|
+
# endif // (__cplusplus >= 201402)
|
828
|
+
# endif // // defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
810
829
|
# endif // defined(__clang__)
|
811
830
|
# if defined(__GNUC__)
|
812
831
|
# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
|
@@ -851,9 +870,9 @@
|
|
851
870
|
#if !defined(BOOST_ASIO_HAS_STD_INVOKE_RESULT)
|
852
871
|
# if !defined(BOOST_ASIO_DISABLE_STD_INVOKE_RESULT)
|
853
872
|
# if defined(BOOST_ASIO_MSVC)
|
854
|
-
# if (_MSC_VER >=
|
873
|
+
# if (_MSC_VER >= 1911 && _MSVC_LANG >= 201703)
|
855
874
|
# define BOOST_ASIO_HAS_STD_INVOKE_RESULT 1
|
856
|
-
# endif // (_MSC_VER >=
|
875
|
+
# endif // (_MSC_VER >= 1911 && _MSVC_LANG >= 201703)
|
857
876
|
# endif // defined(BOOST_ASIO_MSVC)
|
858
877
|
# endif // !defined(BOOST_ASIO_DISABLE_STD_INVOKE_RESULT)
|
859
878
|
#endif // !defined(BOOST_ASIO_HAS_STD_INVOKE_RESULT)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
//
|
2
|
+
// detail/future.hpp
|
3
|
+
// ~~~~~~~~~~~~~~~~~
|
4
|
+
//
|
5
|
+
// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
6
|
+
//
|
7
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
8
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
//
|
10
|
+
|
11
|
+
#ifndef BOOST_ASIO_DETAIL_FUTURE_HPP
|
12
|
+
#define BOOST_ASIO_DETAIL_FUTURE_HPP
|
13
|
+
|
14
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
15
|
+
# pragma once
|
16
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
|
+
|
18
|
+
#include <boost/asio/detail/config.hpp>
|
19
|
+
#if defined(BOOST_ASIO_HAS_STD_FUTURE)
|
20
|
+
# include <future>
|
21
|
+
// Even though the future header is available, libstdc++ may not implement the
|
22
|
+
// std::future class itself. However, we need to have already included the
|
23
|
+
// future header to reliably test for _GLIBCXX_HAS_GTHREADS.
|
24
|
+
# if defined(__GNUC__) && !defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
25
|
+
# if defined(_GLIBCXX_HAS_GTHREADS)
|
26
|
+
# define BOOST_ASIO_HAS_STD_FUTURE_CLASS 1
|
27
|
+
# endif // defined(_GLIBCXX_HAS_GTHREADS)
|
28
|
+
# else // defined(__GNUC__) && !defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
29
|
+
# define BOOST_ASIO_HAS_STD_FUTURE_CLASS 1
|
30
|
+
# endif // defined(__GNUC__) && !defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
|
31
|
+
#endif // defined(BOOST_ASIO_HAS_STD_FUTURE)
|
32
|
+
|
33
|
+
#endif // BOOST_ASIO_DETAIL_FUTURE_HPP
|
@@ -2115,7 +2115,7 @@ const char* inet_ntop(int af, const void* src, char* dest, size_t length,
|
|
2115
2115
|
if (result != 0 && af == BOOST_ASIO_OS_DEF(AF_INET6) && scope_id != 0)
|
2116
2116
|
{
|
2117
2117
|
using namespace std; // For strcat and sprintf.
|
2118
|
-
char if_name[IF_NAMESIZE + 1] = "%";
|
2118
|
+
char if_name[(IF_NAMESIZE > 21 ? IF_NAMESIZE : 21) + 1] = "%";
|
2119
2119
|
const in6_addr_type* ipv6_address = static_cast<const in6_addr_type*>(src);
|
2120
2120
|
bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe)
|
2121
2121
|
&& ((ipv6_address->s6_addr[1] & 0xc0) == 0x80));
|
@@ -53,23 +53,47 @@ struct buffer_sequence_memfns_check
|
|
53
53
|
};
|
54
54
|
|
55
55
|
template <typename>
|
56
|
-
char (&
|
56
|
+
char (&buffer_sequence_begin_helper(...))[2];
|
57
|
+
|
58
|
+
#if defined(BOOST_ASIO_HAS_DECLTYPE)
|
57
59
|
|
58
60
|
template <typename T>
|
59
|
-
char
|
61
|
+
char buffer_sequence_begin_helper(T* t,
|
62
|
+
typename enable_if<!is_same<
|
63
|
+
decltype(boost::asio::buffer_sequence_begin(*t)),
|
64
|
+
void>::value>::type*);
|
65
|
+
|
66
|
+
#else // defined(BOOST_ASIO_HAS_DECLTYPE)
|
67
|
+
|
68
|
+
template <typename T>
|
69
|
+
char buffer_sequence_begin_helper(T* t,
|
60
70
|
buffer_sequence_memfns_check<
|
61
71
|
void (buffer_sequence_memfns_base::*)(),
|
62
72
|
&buffer_sequence_memfns_derived<T>::begin>*);
|
63
73
|
|
74
|
+
#endif // defined(BOOST_ASIO_HAS_DECLTYPE)
|
75
|
+
|
64
76
|
template <typename>
|
65
|
-
char (&
|
77
|
+
char (&buffer_sequence_end_helper(...))[2];
|
78
|
+
|
79
|
+
#if defined(BOOST_ASIO_HAS_DECLTYPE)
|
66
80
|
|
67
81
|
template <typename T>
|
68
|
-
char
|
82
|
+
char buffer_sequence_end_helper(T* t,
|
83
|
+
typename enable_if<!is_same<
|
84
|
+
decltype(boost::asio::buffer_sequence_end(*t)),
|
85
|
+
void>::value>::type*);
|
86
|
+
|
87
|
+
#else // defined(BOOST_ASIO_HAS_DECLTYPE)
|
88
|
+
|
89
|
+
template <typename T>
|
90
|
+
char buffer_sequence_end_helper(T* t,
|
69
91
|
buffer_sequence_memfns_check<
|
70
92
|
void (buffer_sequence_memfns_base::*)(),
|
71
93
|
&buffer_sequence_memfns_derived<T>::end>*);
|
72
94
|
|
95
|
+
#endif // defined(BOOST_ASIO_HAS_DECLTYPE)
|
96
|
+
|
73
97
|
template <typename>
|
74
98
|
char (&size_memfn_helper(...))[2];
|
75
99
|
|
@@ -134,25 +158,25 @@ char consume_memfn_helper(
|
|
134
158
|
&buffer_sequence_memfns_derived<T>::consume>*);
|
135
159
|
|
136
160
|
template <typename, typename>
|
137
|
-
char (&
|
161
|
+
char (&buffer_sequence_element_type_helper(...))[2];
|
138
162
|
|
139
|
-
#if defined(
|
163
|
+
#if defined(BOOST_ASIO_HAS_DECLTYPE)
|
140
164
|
|
141
165
|
template <typename T, typename Buffer>
|
142
|
-
char
|
166
|
+
char buffer_sequence_element_type_helper(T* t,
|
143
167
|
typename enable_if<is_convertible<
|
144
|
-
decltype(*buffer_sequence_begin(*t)),
|
168
|
+
decltype(*boost::asio::buffer_sequence_begin(*t)),
|
145
169
|
Buffer>::value>::type*);
|
146
170
|
|
147
|
-
#else // defined(
|
171
|
+
#else // defined(BOOST_ASIO_HAS_DECLTYPE)
|
148
172
|
|
149
173
|
template <typename T, typename Buffer>
|
150
|
-
char
|
174
|
+
char buffer_sequence_element_type_helper(
|
151
175
|
typename T::const_iterator*,
|
152
176
|
typename enable_if<is_convertible<
|
153
177
|
typename T::value_type, Buffer>::value>::type*);
|
154
178
|
|
155
|
-
#endif // defined(
|
179
|
+
#endif // defined(BOOST_ASIO_HAS_DECLTYPE)
|
156
180
|
|
157
181
|
template <typename>
|
158
182
|
char (&const_buffers_type_typedef_helper(...))[2];
|
@@ -171,9 +195,9 @@ char mutable_buffers_type_typedef_helper(
|
|
171
195
|
template <typename T, typename Buffer>
|
172
196
|
struct is_buffer_sequence_class
|
173
197
|
: integral_constant<bool,
|
174
|
-
sizeof(
|
175
|
-
sizeof(
|
176
|
-
sizeof(
|
198
|
+
sizeof(buffer_sequence_begin_helper<T>(0)) != 1 &&
|
199
|
+
sizeof(buffer_sequence_end_helper<T>(0)) != 1 &&
|
200
|
+
sizeof(buffer_sequence_element_type_helper<T, Buffer>(0, 0)) == 1>
|
177
201
|
{
|
178
202
|
};
|
179
203
|
|