passenger 6.0.1 → 6.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +145 -18
- data/CONTRIBUTORS +6 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-status +15 -0
- data/build/misc.rb +3 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
- data/dev/copy_boost_headers +1 -0
- data/package.json +1 -1
- data/passenger.gemspec +9 -1
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
- data/resources/templates/standalone/http.erb +2 -0
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
- data/src/agent/Core/ApplicationPool/Options.h +10 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/Config.h +14 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +5 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +3 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +2 -1
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +15 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
- data/src/apache2_module/Hooks.cpp +6 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
- data/src/cxx_supportlib/Constants.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +20 -19
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
- data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +6 -2
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
- data/src/nginx_module/ngx_http_passenger_module.c +2 -0
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_native_extension/extconf.rb +7 -0
- data/src/ruby_supportlib/phusion_passenger.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +42 -8
- data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -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
|