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
@@ -37,9 +37,9 @@ namespace boost
|
|
37
37
|
T,
|
38
38
|
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
39
39
|
BOOST_DEDUCED_TYPENAME mpl::eval_if<is_const<T>,
|
40
|
-
has_type<range_const_iterator<
|
40
|
+
has_type<boost::range_const_iterator<
|
41
41
|
BOOST_DEDUCED_TYPENAME remove_const<T>::type> >,
|
42
|
-
has_type<range_mutable_iterator<T> >
|
42
|
+
has_type<boost::range_mutable_iterator<T> >
|
43
43
|
>::type
|
44
44
|
>::type
|
45
45
|
>
|
@@ -57,7 +57,7 @@ namespace boost
|
|
57
57
|
struct has_range_const_iterator_impl<
|
58
58
|
T,
|
59
59
|
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
60
|
-
has_type<range_const_iterator<T> >
|
60
|
+
has_type<boost::range_const_iterator<T> >
|
61
61
|
>::type
|
62
62
|
>
|
63
63
|
: boost::mpl::true_
|
@@ -45,14 +45,18 @@
|
|
45
45
|
|
46
46
|
#ifdef INTMAX_C
|
47
47
|
#define BOOST_RATIO_INTMAX_C(a) INTMAX_C(a)
|
48
|
-
#
|
48
|
+
#elif __cplusplus >= 201103L
|
49
49
|
#define BOOST_RATIO_INTMAX_C(a) a##LL
|
50
|
+
#else
|
51
|
+
#define BOOST_RATIO_INTMAX_C(a) a##L
|
50
52
|
#endif
|
51
53
|
|
52
54
|
#ifdef UINTMAX_C
|
53
55
|
#define BOOST_RATIO_UINTMAX_C(a) UINTMAX_C(a)
|
54
|
-
#
|
56
|
+
#elif __cplusplus >= 201103L
|
55
57
|
#define BOOST_RATIO_UINTMAX_C(a) a##ULL
|
58
|
+
#else
|
59
|
+
#define BOOST_RATIO_UINTMAX_C(a) a##UL
|
56
60
|
#endif
|
57
61
|
|
58
62
|
#define BOOST_RATIO_INTMAX_T_MAX (0x7FFFFFFFFFFFFFFELL)
|
@@ -157,7 +157,7 @@ public:
|
|
157
157
|
rational_detail::is_compatible_integer<T, IntType>::value
|
158
158
|
>::type const* = 0) : num(n), den(1) {}
|
159
159
|
template <class T, class U>
|
160
|
-
rational(const T& n, const U& d, typename enable_if_c<
|
160
|
+
BOOST_CXX14_CONSTEXPR rational(const T& n, const U& d, typename enable_if_c<
|
161
161
|
rational_detail::is_compatible_integer<T, IntType>::value && rational_detail::is_compatible_integer<U, IntType>::value
|
162
162
|
>::type const* = 0) : num(n), den(d) {
|
163
163
|
normalize();
|
@@ -180,13 +180,13 @@ public:
|
|
180
180
|
|
181
181
|
// Add assignment from IntType
|
182
182
|
template <class T>
|
183
|
-
typename enable_if_c<
|
183
|
+
BOOST_CXX14_CONSTEXPR typename enable_if_c<
|
184
184
|
rational_detail::is_compatible_integer<T, IntType>::value, rational &
|
185
185
|
>::type operator=(const T& n) { return assign(static_cast<IntType>(n), static_cast<IntType>(1)); }
|
186
186
|
|
187
187
|
// Assign in place
|
188
188
|
template <class T, class U>
|
189
|
-
typename enable_if_c<
|
189
|
+
BOOST_CXX14_CONSTEXPR typename enable_if_c<
|
190
190
|
rational_detail::is_compatible_integer<T, IntType>::value && rational_detail::is_compatible_integer<U, IntType>::value, rational &
|
191
191
|
>::type assign(const T& n, const U& d)
|
192
192
|
{
|
@@ -201,7 +201,7 @@ public:
|
|
201
201
|
// if the conversion results in loss of precision or undefined behaviour.
|
202
202
|
//
|
203
203
|
template <class T>
|
204
|
-
rational(const T& n, typename enable_if_c<
|
204
|
+
BOOST_CXX14_CONSTEXPR rational(const T& n, typename enable_if_c<
|
205
205
|
std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
|
206
206
|
&& !rational_detail::is_compatible_integer<T, IntType>::value
|
207
207
|
&& (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix)
|
@@ -211,7 +211,7 @@ public:
|
|
211
211
|
assign(n, static_cast<T>(1));
|
212
212
|
}
|
213
213
|
template <class T, class U>
|
214
|
-
rational(const T& n, const U& d, typename enable_if_c<
|
214
|
+
BOOST_CXX14_CONSTEXPR rational(const T& n, const U& d, typename enable_if_c<
|
215
215
|
(!rational_detail::is_compatible_integer<T, IntType>::value
|
216
216
|
|| !rational_detail::is_compatible_integer<U, IntType>::value)
|
217
217
|
&& std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
|
@@ -225,7 +225,7 @@ public:
|
|
225
225
|
assign(n, d);
|
226
226
|
}
|
227
227
|
template <class T>
|
228
|
-
typename enable_if_c<
|
228
|
+
BOOST_CXX14_CONSTEXPR typename enable_if_c<
|
229
229
|
std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
|
230
230
|
&& !rational_detail::is_compatible_integer<T, IntType>::value
|
231
231
|
&& (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix)
|
@@ -234,7 +234,7 @@ public:
|
|
234
234
|
>::type operator=(const T& n) { return assign(n, static_cast<T>(1)); }
|
235
235
|
|
236
236
|
template <class T, class U>
|
237
|
-
typename enable_if_c<
|
237
|
+
BOOST_CXX14_CONSTEXPR typename enable_if_c<
|
238
238
|
(!rational_detail::is_compatible_integer<T, IntType>::value
|
239
239
|
|| !rational_detail::is_compatible_integer<U, IntType>::value)
|
240
240
|
&& std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::is_integer
|
@@ -258,25 +258,25 @@ public:
|
|
258
258
|
const IntType& denominator() const { return den; }
|
259
259
|
|
260
260
|
// Arithmetic assignment operators
|
261
|
-
rational& operator+= (const rational& r);
|
262
|
-
rational& operator-= (const rational& r);
|
263
|
-
rational& operator*= (const rational& r);
|
264
|
-
rational& operator/= (const rational& r);
|
261
|
+
BOOST_CXX14_CONSTEXPR rational& operator+= (const rational& r);
|
262
|
+
BOOST_CXX14_CONSTEXPR rational& operator-= (const rational& r);
|
263
|
+
BOOST_CXX14_CONSTEXPR rational& operator*= (const rational& r);
|
264
|
+
BOOST_CXX14_CONSTEXPR rational& operator/= (const rational& r);
|
265
265
|
|
266
266
|
template <class T>
|
267
|
-
typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator+= (const T& i)
|
267
|
+
BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator+= (const T& i)
|
268
268
|
{
|
269
269
|
num += i * den;
|
270
270
|
return *this;
|
271
271
|
}
|
272
272
|
template <class T>
|
273
|
-
typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator-= (const T& i)
|
273
|
+
BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator-= (const T& i)
|
274
274
|
{
|
275
275
|
num -= i * den;
|
276
276
|
return *this;
|
277
277
|
}
|
278
278
|
template <class T>
|
279
|
-
typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator*= (const T& i)
|
279
|
+
BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator*= (const T& i)
|
280
280
|
{
|
281
281
|
// Avoid overflow and preserve normalization
|
282
282
|
IntType gcd = integer::gcd(static_cast<IntType>(i), den);
|
@@ -285,7 +285,7 @@ public:
|
|
285
285
|
return *this;
|
286
286
|
}
|
287
287
|
template <class T>
|
288
|
-
typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator/= (const T& i)
|
288
|
+
BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, rational&>::type operator/= (const T& i)
|
289
289
|
{
|
290
290
|
// Avoid repeated construction
|
291
291
|
IntType const zero(0);
|
@@ -307,16 +307,16 @@ public:
|
|
307
307
|
}
|
308
308
|
|
309
309
|
// Increment and decrement
|
310
|
-
const rational& operator++() { num += den; return *this; }
|
311
|
-
const rational& operator--() { num -= den; return *this; }
|
310
|
+
BOOST_CXX14_CONSTEXPR const rational& operator++() { num += den; return *this; }
|
311
|
+
BOOST_CXX14_CONSTEXPR const rational& operator--() { num -= den; return *this; }
|
312
312
|
|
313
|
-
rational operator++(int)
|
313
|
+
BOOST_CXX14_CONSTEXPR rational operator++(int)
|
314
314
|
{
|
315
315
|
rational t(*this);
|
316
316
|
++(*this);
|
317
317
|
return t;
|
318
318
|
}
|
319
|
-
rational operator--(int)
|
319
|
+
BOOST_CXX14_CONSTEXPR rational operator--(int)
|
320
320
|
{
|
321
321
|
rational t(*this);
|
322
322
|
--(*this);
|
@@ -344,13 +344,13 @@ public:
|
|
344
344
|
#endif
|
345
345
|
|
346
346
|
// Comparison operators
|
347
|
-
bool operator< (const rational& r) const;
|
348
|
-
bool operator> (const rational& r) const { return r < *this; }
|
347
|
+
BOOST_CXX14_CONSTEXPR bool operator< (const rational& r) const;
|
348
|
+
BOOST_CXX14_CONSTEXPR bool operator> (const rational& r) const { return r < *this; }
|
349
349
|
BOOST_CONSTEXPR
|
350
350
|
bool operator== (const rational& r) const;
|
351
351
|
|
352
352
|
template <class T>
|
353
|
-
typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator< (const T& i) const
|
353
|
+
BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator< (const T& i) const
|
354
354
|
{
|
355
355
|
// Avoid repeated construction
|
356
356
|
int_type const zero(0);
|
@@ -367,7 +367,7 @@ public:
|
|
367
367
|
return q < i;
|
368
368
|
}
|
369
369
|
template <class T>
|
370
|
-
typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator>(const T& i) const
|
370
|
+
BOOST_CXX14_CONSTEXPR typename boost::enable_if_c<rational_detail::is_compatible_integer<T, IntType>::value, bool>::type operator>(const T& i) const
|
371
371
|
{
|
372
372
|
return operator==(i) ? false : !operator<(i);
|
373
373
|
}
|
@@ -397,8 +397,8 @@ private:
|
|
397
397
|
// times. normalized form is defined as gcd(num,den) == 1 and den > 0.
|
398
398
|
// In particular, note that the implementation of abs() below relies
|
399
399
|
// on den always being positive.
|
400
|
-
bool test_invariant() const;
|
401
|
-
void normalize();
|
400
|
+
BOOST_CXX14_CONSTEXPR bool test_invariant() const;
|
401
|
+
BOOST_CXX14_CONSTEXPR void normalize();
|
402
402
|
|
403
403
|
static BOOST_CONSTEXPR
|
404
404
|
bool is_normalized( param_type n, param_type d, int_type const &zero =
|
@@ -480,6 +480,7 @@ inline rational
|
|
480
480
|
}
|
481
481
|
|
482
482
|
template <typename IntType>
|
483
|
+
BOOST_CXX14_CONSTEXPR
|
483
484
|
inline rational<IntType> operator- (const rational<IntType>& r)
|
484
485
|
{
|
485
486
|
return rational<IntType>(static_cast<IntType>(-r.numerator()), r.denominator());
|
@@ -487,7 +488,7 @@ inline rational
|
|
487
488
|
|
488
489
|
// Arithmetic assignment operators
|
489
490
|
template <typename IntType>
|
490
|
-
rational<IntType>& rational<IntType>::operator+= (const rational<IntType>& r)
|
491
|
+
BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator+= (const rational<IntType>& r)
|
491
492
|
{
|
492
493
|
// This calculation avoids overflow, and minimises the number of expensive
|
493
494
|
// calculations. Thanks to Nickolay Mladenov for this algorithm.
|
@@ -522,7 +523,7 @@ rational
|
|
522
523
|
}
|
523
524
|
|
524
525
|
template <typename IntType>
|
525
|
-
rational<IntType>& rational<IntType>::operator-= (const rational<IntType>& r)
|
526
|
+
BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator-= (const rational<IntType>& r)
|
526
527
|
{
|
527
528
|
// Protect against self-modification
|
528
529
|
IntType r_num = r.num;
|
@@ -541,7 +542,7 @@ rational
|
|
541
542
|
}
|
542
543
|
|
543
544
|
template <typename IntType>
|
544
|
-
rational<IntType>& rational<IntType>::operator*= (const rational<IntType>& r)
|
545
|
+
BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator*= (const rational<IntType>& r)
|
545
546
|
{
|
546
547
|
// Protect against self-modification
|
547
548
|
IntType r_num = r.num;
|
@@ -556,7 +557,7 @@ rational
|
|
556
557
|
}
|
557
558
|
|
558
559
|
template <typename IntType>
|
559
|
-
rational<IntType>& rational<IntType>::operator/= (const rational<IntType>& r)
|
560
|
+
BOOST_CXX14_CONSTEXPR rational<IntType>& rational<IntType>::operator/= (const rational<IntType>& r)
|
560
561
|
{
|
561
562
|
// Protect against self-modification
|
562
563
|
IntType r_num = r.num;
|
@@ -601,6 +602,7 @@ rational
|
|
601
602
|
// Cases (1) and (2) are folded into the one function.
|
602
603
|
//
|
603
604
|
template <class IntType, class Arg>
|
605
|
+
BOOST_CXX14_CONSTEXPR
|
604
606
|
inline typename boost::enable_if_c <
|
605
607
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
|
606
608
|
operator + (const rational<IntType>& a, const Arg& b)
|
@@ -609,6 +611,7 @@ inline typename boost::enable_if_c <
|
|
609
611
|
return t += b;
|
610
612
|
}
|
611
613
|
template <class Arg, class IntType>
|
614
|
+
BOOST_CXX14_CONSTEXPR
|
612
615
|
inline typename boost::enable_if_c <
|
613
616
|
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
|
614
617
|
operator + (const Arg& b, const rational<IntType>& a)
|
@@ -618,6 +621,7 @@ inline typename boost::enable_if_c <
|
|
618
621
|
}
|
619
622
|
|
620
623
|
template <class IntType, class Arg>
|
624
|
+
BOOST_CXX14_CONSTEXPR
|
621
625
|
inline typename boost::enable_if_c <
|
622
626
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
|
623
627
|
operator - (const rational<IntType>& a, const Arg& b)
|
@@ -626,6 +630,7 @@ inline typename boost::enable_if_c <
|
|
626
630
|
return t -= b;
|
627
631
|
}
|
628
632
|
template <class Arg, class IntType>
|
633
|
+
BOOST_CXX14_CONSTEXPR
|
629
634
|
inline typename boost::enable_if_c <
|
630
635
|
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
|
631
636
|
operator - (const Arg& b, const rational<IntType>& a)
|
@@ -635,6 +640,7 @@ inline typename boost::enable_if_c <
|
|
635
640
|
}
|
636
641
|
|
637
642
|
template <class IntType, class Arg>
|
643
|
+
BOOST_CXX14_CONSTEXPR
|
638
644
|
inline typename boost::enable_if_c <
|
639
645
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
|
640
646
|
operator * (const rational<IntType>& a, const Arg& b)
|
@@ -643,6 +649,7 @@ inline typename boost::enable_if_c <
|
|
643
649
|
return t *= b;
|
644
650
|
}
|
645
651
|
template <class Arg, class IntType>
|
652
|
+
BOOST_CXX14_CONSTEXPR
|
646
653
|
inline typename boost::enable_if_c <
|
647
654
|
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
|
648
655
|
operator * (const Arg& b, const rational<IntType>& a)
|
@@ -652,6 +659,7 @@ inline typename boost::enable_if_c <
|
|
652
659
|
}
|
653
660
|
|
654
661
|
template <class IntType, class Arg>
|
662
|
+
BOOST_CXX14_CONSTEXPR
|
655
663
|
inline typename boost::enable_if_c <
|
656
664
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, rational<IntType> >::type
|
657
665
|
operator / (const rational<IntType>& a, const Arg& b)
|
@@ -660,6 +668,7 @@ inline typename boost::enable_if_c <
|
|
660
668
|
return t /= b;
|
661
669
|
}
|
662
670
|
template <class Arg, class IntType>
|
671
|
+
BOOST_CXX14_CONSTEXPR
|
663
672
|
inline typename boost::enable_if_c <
|
664
673
|
rational_detail::is_compatible_integer<Arg, IntType>::value, rational<IntType> >::type
|
665
674
|
operator / (const Arg& b, const rational<IntType>& a)
|
@@ -669,6 +678,7 @@ inline typename boost::enable_if_c <
|
|
669
678
|
}
|
670
679
|
|
671
680
|
template <class IntType, class Arg>
|
681
|
+
BOOST_CXX14_CONSTEXPR
|
672
682
|
inline typename boost::enable_if_c <
|
673
683
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, bool>::type
|
674
684
|
operator <= (const rational<IntType>& a, const Arg& b)
|
@@ -676,6 +686,7 @@ inline typename boost::enable_if_c <
|
|
676
686
|
return !(a > b);
|
677
687
|
}
|
678
688
|
template <class Arg, class IntType>
|
689
|
+
BOOST_CXX14_CONSTEXPR
|
679
690
|
inline typename boost::enable_if_c <
|
680
691
|
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
|
681
692
|
operator <= (const Arg& b, const rational<IntType>& a)
|
@@ -684,6 +695,7 @@ inline typename boost::enable_if_c <
|
|
684
695
|
}
|
685
696
|
|
686
697
|
template <class IntType, class Arg>
|
698
|
+
BOOST_CXX14_CONSTEXPR
|
687
699
|
inline typename boost::enable_if_c <
|
688
700
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, bool>::type
|
689
701
|
operator >= (const rational<IntType>& a, const Arg& b)
|
@@ -691,6 +703,7 @@ inline typename boost::enable_if_c <
|
|
691
703
|
return !(a < b);
|
692
704
|
}
|
693
705
|
template <class Arg, class IntType>
|
706
|
+
BOOST_CXX14_CONSTEXPR
|
694
707
|
inline typename boost::enable_if_c <
|
695
708
|
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
|
696
709
|
operator >= (const Arg& b, const rational<IntType>& a)
|
@@ -699,6 +712,7 @@ inline typename boost::enable_if_c <
|
|
699
712
|
}
|
700
713
|
|
701
714
|
template <class IntType, class Arg>
|
715
|
+
BOOST_CONSTEXPR
|
702
716
|
inline typename boost::enable_if_c <
|
703
717
|
rational_detail::is_compatible_integer<Arg, IntType>::value || is_same<rational<IntType>, Arg>::value, bool>::type
|
704
718
|
operator != (const rational<IntType>& a, const Arg& b)
|
@@ -706,6 +720,7 @@ inline typename boost::enable_if_c <
|
|
706
720
|
return !(a == b);
|
707
721
|
}
|
708
722
|
template <class Arg, class IntType>
|
723
|
+
BOOST_CONSTEXPR
|
709
724
|
inline typename boost::enable_if_c <
|
710
725
|
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
|
711
726
|
operator != (const Arg& b, const rational<IntType>& a)
|
@@ -714,6 +729,7 @@ inline typename boost::enable_if_c <
|
|
714
729
|
}
|
715
730
|
|
716
731
|
template <class Arg, class IntType>
|
732
|
+
BOOST_CXX14_CONSTEXPR
|
717
733
|
inline typename boost::enable_if_c <
|
718
734
|
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
|
719
735
|
operator < (const Arg& b, const rational<IntType>& a)
|
@@ -721,6 +737,7 @@ inline typename boost::enable_if_c <
|
|
721
737
|
return a > b;
|
722
738
|
}
|
723
739
|
template <class Arg, class IntType>
|
740
|
+
BOOST_CXX14_CONSTEXPR
|
724
741
|
inline typename boost::enable_if_c <
|
725
742
|
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
|
726
743
|
operator > (const Arg& b, const rational<IntType>& a)
|
@@ -728,6 +745,7 @@ inline typename boost::enable_if_c <
|
|
728
745
|
return a < b;
|
729
746
|
}
|
730
747
|
template <class Arg, class IntType>
|
748
|
+
BOOST_CONSTEXPR
|
731
749
|
inline typename boost::enable_if_c <
|
732
750
|
rational_detail::is_compatible_integer<Arg, IntType>::value, bool>::type
|
733
751
|
operator == (const Arg& b, const rational<IntType>& a)
|
@@ -737,6 +755,7 @@ inline typename boost::enable_if_c <
|
|
737
755
|
|
738
756
|
// Comparison operators
|
739
757
|
template <typename IntType>
|
758
|
+
BOOST_CXX14_CONSTEXPR
|
740
759
|
bool rational<IntType>::operator< (const rational<IntType>& r) const
|
741
760
|
{
|
742
761
|
// Avoid repeated construction
|
@@ -829,6 +848,7 @@ inline bool rational
|
|
829
848
|
|
830
849
|
// Invariant check
|
831
850
|
template <typename IntType>
|
851
|
+
BOOST_CXX14_CONSTEXPR
|
832
852
|
inline bool rational<IntType>::test_invariant() const
|
833
853
|
{
|
834
854
|
return ( this->den > int_type(0) ) && ( integer::gcd(this->num, this->den) ==
|
@@ -837,7 +857,7 @@ inline bool rational
|
|
837
857
|
|
838
858
|
// Normalisation
|
839
859
|
template <typename IntType>
|
840
|
-
void rational<IntType>::normalize()
|
860
|
+
BOOST_CXX14_CONSTEXPR void rational<IntType>::normalize()
|
841
861
|
{
|
842
862
|
// Avoid repeated construction
|
843
863
|
IntType zero(0);
|
@@ -856,19 +876,16 @@ void rational
|
|
856
876
|
num /= g;
|
857
877
|
den /= g;
|
858
878
|
|
879
|
+
if (den < -(std::numeric_limits<IntType>::max)()) {
|
880
|
+
BOOST_THROW_EXCEPTION(bad_rational("bad rational: non-zero singular denominator"));
|
881
|
+
}
|
882
|
+
|
859
883
|
// Ensure that the denominator is positive
|
860
884
|
if (den < zero) {
|
861
885
|
num = -num;
|
862
886
|
den = -den;
|
863
887
|
}
|
864
888
|
|
865
|
-
// ...But acknowledge that the previous step doesn't always work.
|
866
|
-
// (Nominally, this should be done before the mutating steps, but this
|
867
|
-
// member function is only called during the constructor, so we never have
|
868
|
-
// to worry about zombie objects.)
|
869
|
-
if (den < zero)
|
870
|
-
BOOST_THROW_EXCEPTION(bad_rational("bad rational: non-zero singular denominator"));
|
871
|
-
|
872
889
|
BOOST_ASSERT( this->test_invariant() );
|
873
890
|
}
|
874
891
|
|
@@ -960,6 +977,7 @@ inline T rational_cast(const rational
|
|
960
977
|
// difficulties involved (Koenig lookup required, there may not *be* an abs()
|
961
978
|
// defined, etc etc).
|
962
979
|
template <typename IntType>
|
980
|
+
BOOST_CXX14_CONSTEXPR
|
963
981
|
inline rational<IntType> abs(const rational<IntType>& r)
|
964
982
|
{
|
965
983
|
return r.numerator() >= IntType(0)? r: -r;
|
@@ -437,7 +437,8 @@ struct BaseRegexConcept
|
|
437
437
|
ignore_unused_variable_warning(bi);
|
438
438
|
sub_diff_type diff = m_sub.length();
|
439
439
|
ignore_unused_variable_warning(diff);
|
440
|
-
// match_results tests
|
440
|
+
// match_results tests - some typedefs are not used, however these
|
441
|
+
// guarante that they exist (some compilers may warn on non-usage)
|
441
442
|
typedef typename match_results_type::value_type mr_value_type;
|
442
443
|
typedef typename match_results_type::const_reference mr_const_reference;
|
443
444
|
typedef typename match_results_type::reference mr_reference;
|
@@ -483,7 +484,7 @@ struct BaseRegexConcept
|
|
483
484
|
mrci = m_cresults.end();
|
484
485
|
ignore_unused_variable_warning(mrci);
|
485
486
|
|
486
|
-
|
487
|
+
(void) m_cresults.get_allocator();
|
487
488
|
m_results.swap(m_results);
|
488
489
|
global_regex_namespace::swap(m_results, m_results);
|
489
490
|
|
@@ -113,6 +113,13 @@
|
|
113
113
|
#if defined(__MINGW32__)
|
114
114
|
# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
115
115
|
#endif
|
116
|
+
/*
|
117
|
+
* Clang fails to export template instances with -fvisibility=hidden, see
|
118
|
+
* https://github.com/boostorg/regex/issues/49
|
119
|
+
*/
|
120
|
+
#ifdef __clang__
|
121
|
+
# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
122
|
+
#endif
|
116
123
|
|
117
124
|
/*
|
118
125
|
* If there isn't good enough wide character support then there will
|
@@ -201,7 +208,10 @@
|
|
201
208
|
# define BOOST_REGEX_HAS_OTHER_WCHAR_T
|
202
209
|
# ifdef BOOST_MSVC
|
203
210
|
# pragma warning(push)
|
204
|
-
# pragma warning(disable : 4251
|
211
|
+
# pragma warning(disable : 4251)
|
212
|
+
#if BOOST_MSVC < 1700
|
213
|
+
# pragma warning(disable : 4231)
|
214
|
+
#endif
|
205
215
|
# if BOOST_MSVC < 1600
|
206
216
|
# pragma warning(disable : 4660)
|
207
217
|
# endif
|