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
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
// (C) Copyright John Maddock 2018.
|
3
|
+
// Use, modification and distribution are subject to the Boost Software License,
|
4
|
+
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
5
|
+
// http://www.boost.org/LICENSE_1_0.txt).
|
6
|
+
//
|
7
|
+
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
8
|
+
|
9
|
+
#ifndef BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED
|
10
|
+
#define BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED
|
11
|
+
|
12
|
+
namespace boost {
|
13
|
+
|
14
|
+
template <class R> struct is_function<R(&&)()> : public false_type {};
|
15
|
+
template <class R> struct is_function<R(&&)(...)> : public false_type {};
|
16
|
+
template <class R, class Arg1> struct is_function<R(&&)(Arg1)> : public false_type {};
|
17
|
+
template <class R, class Arg1> struct is_function<R(&&)(Arg1, ...)> : public false_type {};
|
18
|
+
template <class R, class Arg1, class Arg2> struct is_function<R(&&)(Arg1, Arg2)> : public false_type {};
|
19
|
+
template <class R, class Arg1, class Arg2> struct is_function<R(&&)(Arg1, Arg2, ...)> : public false_type {};
|
20
|
+
template <class R, class Arg1, class Arg2, class Arg3> struct is_function<R(&&)(Arg1, Arg2, Arg3)> : public false_type {};
|
21
|
+
template <class R, class Arg1, class Arg2, class Arg3> struct is_function<R(&&)(Arg1, Arg2, Arg3, ...)> : public false_type {};
|
22
|
+
template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4)> : public false_type {};
|
23
|
+
template <class R, class Arg1, class Arg2, class Arg3, class Arg4> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4, ...)> : public false_type {};
|
24
|
+
template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4, Arg5)> : public false_type {};
|
25
|
+
template <class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5> struct is_function<R(&&)(Arg1, Arg2, Arg3, Arg4, Arg5, ...)> : public false_type {};
|
26
|
+
|
27
|
+
} // namespace boost
|
28
|
+
|
29
|
+
#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
|
30
|
+
|
@@ -30,7 +30,7 @@ struct is_likely_stateless_lambda : public false_type {};
|
|
30
30
|
#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900)
|
31
31
|
|
32
32
|
#include <boost/type_traits/is_convertible.hpp>
|
33
|
-
#include <boost/
|
33
|
+
#include <boost/type_traits/enable_if.hpp>
|
34
34
|
|
35
35
|
namespace boost{
|
36
36
|
|
@@ -70,7 +70,7 @@ struct is_likely_stateless_lambda : false_type{};
|
|
70
70
|
template<typename T>
|
71
71
|
struct is_likely_stateless_lambda<
|
72
72
|
T,
|
73
|
-
typename boost::
|
73
|
+
typename boost::enable_if_<has_one_operator_call<T>::value>::type> :
|
74
74
|
boost::is_convertible<T, typename equivalent_function_pointer<T>::type
|
75
75
|
>{};
|
76
76
|
|
@@ -0,0 +1,117 @@
|
|
1
|
+
|
2
|
+
// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
|
3
|
+
// Hinnant & John Maddock 2000.
|
4
|
+
// Use, modification and distribution are subject to the Boost Software License,
|
5
|
+
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
6
|
+
// http://www.boost.org/LICENSE_1_0.txt).
|
7
|
+
//
|
8
|
+
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
9
|
+
|
10
|
+
|
11
|
+
#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED
|
12
|
+
#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED
|
13
|
+
|
14
|
+
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
15
|
+
//
|
16
|
+
// Note: we use the "workaround" version for MSVC because it works for
|
17
|
+
// __stdcall etc function types, where as the partial specialisation
|
18
|
+
// version does not do so.
|
19
|
+
//
|
20
|
+
# include <boost/type_traits/detail/is_mem_fun_pointer_impl.hpp>
|
21
|
+
# include <boost/type_traits/remove_cv.hpp>
|
22
|
+
# include <boost/type_traits/integral_constant.hpp>
|
23
|
+
#else
|
24
|
+
# include <boost/type_traits/is_reference.hpp>
|
25
|
+
# include <boost/type_traits/is_array.hpp>
|
26
|
+
# include <boost/type_traits/detail/yes_no_type.hpp>
|
27
|
+
# include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
|
28
|
+
#endif
|
29
|
+
|
30
|
+
namespace boost {
|
31
|
+
|
32
|
+
#if defined( __CODEGEARC__ )
|
33
|
+
template <class T> struct is_member_function_pointer : public integral_constant<bool, __is_member_function_pointer( T )> {};
|
34
|
+
#elif !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
35
|
+
|
36
|
+
template <class T> struct is_member_function_pointer
|
37
|
+
: public ::boost::integral_constant<bool, ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value>{};
|
38
|
+
|
39
|
+
#else
|
40
|
+
|
41
|
+
namespace detail {
|
42
|
+
|
43
|
+
#ifndef __BORLANDC__
|
44
|
+
|
45
|
+
template <bool>
|
46
|
+
struct is_mem_fun_pointer_select
|
47
|
+
{
|
48
|
+
template <class T> struct result_ : public false_type{};
|
49
|
+
};
|
50
|
+
|
51
|
+
template <>
|
52
|
+
struct is_mem_fun_pointer_select<false>
|
53
|
+
{
|
54
|
+
template <typename T> struct result_
|
55
|
+
{
|
56
|
+
#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
|
57
|
+
#pragma warning(push)
|
58
|
+
#pragma warning(disable:6334)
|
59
|
+
#endif
|
60
|
+
static T* make_t;
|
61
|
+
typedef result_<T> self_type;
|
62
|
+
|
63
|
+
BOOST_STATIC_CONSTANT(
|
64
|
+
bool, value = (
|
65
|
+
1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
|
66
|
+
));
|
67
|
+
#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
|
68
|
+
#pragma warning(pop)
|
69
|
+
#endif
|
70
|
+
};
|
71
|
+
};
|
72
|
+
|
73
|
+
template <typename T>
|
74
|
+
struct is_member_function_pointer_impl
|
75
|
+
: public is_mem_fun_pointer_select<
|
76
|
+
::boost::is_reference<T>::value || ::boost::is_array<T>::value>::template result_<T>{};
|
77
|
+
|
78
|
+
template <typename T>
|
79
|
+
struct is_member_function_pointer_impl<T&> : public false_type{};
|
80
|
+
|
81
|
+
#else // Borland C++
|
82
|
+
|
83
|
+
template <typename T>
|
84
|
+
struct is_member_function_pointer_impl
|
85
|
+
{
|
86
|
+
static T* m_t;
|
87
|
+
BOOST_STATIC_CONSTANT(
|
88
|
+
bool, value =
|
89
|
+
(1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );
|
90
|
+
};
|
91
|
+
|
92
|
+
template <typename T>
|
93
|
+
struct is_member_function_pointer_impl<T&>
|
94
|
+
{
|
95
|
+
BOOST_STATIC_CONSTANT(bool, value = false);
|
96
|
+
};
|
97
|
+
|
98
|
+
#endif
|
99
|
+
|
100
|
+
template<> struct is_member_function_pointer_impl<void> : public false_type{};
|
101
|
+
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
102
|
+
template<> struct is_member_function_pointer_impl<void const> : public false_type{};
|
103
|
+
template<> struct is_member_function_pointer_impl<void const volatile> : public false_type{};
|
104
|
+
template<> struct is_member_function_pointer_impl<void volatile> : public false_type{};
|
105
|
+
#endif
|
106
|
+
|
107
|
+
} // namespace detail
|
108
|
+
|
109
|
+
template <class T>
|
110
|
+
struct is_member_function_pointer
|
111
|
+
: public integral_constant<bool, ::boost::detail::is_member_function_pointer_impl<T>::value>{};
|
112
|
+
|
113
|
+
#endif
|
114
|
+
|
115
|
+
} // namespace boost
|
116
|
+
|
117
|
+
#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
|
@@ -0,0 +1,557 @@
|
|
1
|
+
|
2
|
+
// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
|
3
|
+
// Hinnant & John Maddock 2000.
|
4
|
+
// Use, modification and distribution are subject to the Boost Software License,
|
5
|
+
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
6
|
+
// http://www.boost.org/LICENSE_1_0.txt).
|
7
|
+
//
|
8
|
+
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
9
|
+
|
10
|
+
|
11
|
+
#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED
|
12
|
+
#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED
|
13
|
+
|
14
|
+
#include <boost/type_traits/integral_constant.hpp>
|
15
|
+
|
16
|
+
namespace boost {
|
17
|
+
|
18
|
+
#ifdef _MSC_VER
|
19
|
+
#define BOOST_TT_DEF_CALL __thiscall
|
20
|
+
#else
|
21
|
+
#define BOOST_TT_DEF_CALL
|
22
|
+
#endif
|
23
|
+
|
24
|
+
|
25
|
+
template <class T>
|
26
|
+
struct is_member_function_pointer : public false_type {};
|
27
|
+
template <class T>
|
28
|
+
struct is_member_function_pointer<T const> : public is_member_function_pointer<T> {};
|
29
|
+
template <class T>
|
30
|
+
struct is_member_function_pointer<T volatile> : public is_member_function_pointer<T> {};
|
31
|
+
template <class T>
|
32
|
+
struct is_member_function_pointer<T const volatile> : public is_member_function_pointer<T> {};
|
33
|
+
|
34
|
+
#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
|
35
|
+
// MSVC can't handle noexcept(b) as a deduced template parameter
|
36
|
+
// so we will have to write everything out :(
|
37
|
+
#define BOOST_TT_NOEXCEPT_PARAM
|
38
|
+
#define BOOST_TT_NOEXCEPT_DECL
|
39
|
+
#elif defined(__cpp_noexcept_function_type)
|
40
|
+
#define BOOST_TT_NOEXCEPT_PARAM , bool NE
|
41
|
+
#define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
|
42
|
+
#else
|
43
|
+
#define BOOST_TT_NOEXCEPT_PARAM
|
44
|
+
#define BOOST_TT_NOEXCEPT_DECL
|
45
|
+
#endif
|
46
|
+
|
47
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
48
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
49
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
50
|
+
struct is_member_function_pointer<Ret (C::*)(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
51
|
+
// const qualified:
|
52
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
53
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
54
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
55
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
56
|
+
// volatile:
|
57
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
58
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
59
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
60
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
61
|
+
// const volatile
|
62
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
63
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
64
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
65
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
66
|
+
|
67
|
+
// Reference qualified:
|
68
|
+
|
69
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
70
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
71
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
72
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
73
|
+
// const qualified:
|
74
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
75
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
76
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
77
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
78
|
+
// volatile:
|
79
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
80
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
81
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
82
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
83
|
+
// const volatile
|
84
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
85
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
86
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
87
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
88
|
+
|
89
|
+
// rvalue reference qualified:
|
90
|
+
|
91
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
92
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
93
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
94
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
95
|
+
// const qualified:
|
96
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
97
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
98
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
99
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
100
|
+
// volatile:
|
101
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
102
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
103
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
104
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
105
|
+
// const volatile
|
106
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
107
|
+
struct is_member_function_pointer<Ret (BOOST_TT_DEF_CALL C::*)(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
108
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
109
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
110
|
+
|
111
|
+
#ifdef _MSC_VER
|
112
|
+
#ifdef __CLR_VER
|
113
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
114
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
115
|
+
#endif
|
116
|
+
#ifndef _M_AMD64
|
117
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
118
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
119
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
120
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
121
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
122
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
123
|
+
#endif
|
124
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
125
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
126
|
+
// const:
|
127
|
+
#ifdef __CLR_VER
|
128
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
129
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
130
|
+
#endif
|
131
|
+
#ifndef _M_AMD64
|
132
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
133
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
134
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
135
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
136
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
137
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
138
|
+
#endif
|
139
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
140
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
141
|
+
// volatile:
|
142
|
+
#ifdef __CLR_VER
|
143
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
144
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
145
|
+
#endif
|
146
|
+
#ifndef _M_AMD64
|
147
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
148
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
149
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
150
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
151
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
152
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
153
|
+
#endif
|
154
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
155
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
156
|
+
// const volatile:
|
157
|
+
#ifdef __CLR_VER
|
158
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
159
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
160
|
+
#endif
|
161
|
+
#ifndef _M_AMD64
|
162
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
163
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
164
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
165
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
166
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
167
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
168
|
+
#endif
|
169
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
170
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
171
|
+
|
172
|
+
// reference qualified:
|
173
|
+
#ifdef __CLR_VER
|
174
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
175
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
176
|
+
#endif
|
177
|
+
#ifndef _M_AMD64
|
178
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
179
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
180
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
181
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
182
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
183
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
184
|
+
#endif
|
185
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
186
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
187
|
+
// const:
|
188
|
+
#ifdef __CLR_VER
|
189
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
190
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
191
|
+
#endif
|
192
|
+
#ifndef _M_AMD64
|
193
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
194
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
195
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
196
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
197
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
198
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
199
|
+
#endif
|
200
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
201
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
202
|
+
// volatile:
|
203
|
+
#ifdef __CLR_VER
|
204
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
205
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
206
|
+
#endif
|
207
|
+
#ifndef _M_AMD64
|
208
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
209
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
210
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
211
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
212
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
213
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
214
|
+
#endif
|
215
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
216
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
217
|
+
// const volatile:
|
218
|
+
#ifdef __CLR_VER
|
219
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
220
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
221
|
+
#endif
|
222
|
+
#ifndef _M_AMD64
|
223
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
224
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
225
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
226
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
227
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
228
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
229
|
+
#endif
|
230
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
231
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
232
|
+
|
233
|
+
// rvalue reference qualified:
|
234
|
+
#ifdef __CLR_VER
|
235
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
236
|
+
struct is_member_function_pointer<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
237
|
+
#endif
|
238
|
+
#ifndef _M_AMD64
|
239
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
240
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
241
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
242
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
243
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
244
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
245
|
+
#endif
|
246
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
247
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
248
|
+
// const:
|
249
|
+
#ifdef __CLR_VER
|
250
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
251
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
252
|
+
#endif
|
253
|
+
#ifndef _M_AMD64
|
254
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
255
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
256
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
257
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
258
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
259
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
260
|
+
#endif
|
261
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
262
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
263
|
+
// volatile:
|
264
|
+
#ifdef __CLR_VER
|
265
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
266
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
267
|
+
#endif
|
268
|
+
#ifndef _M_AMD64
|
269
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
270
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
271
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
272
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
273
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
274
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
275
|
+
#endif
|
276
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
277
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
278
|
+
// const volatile:
|
279
|
+
#ifdef __CLR_VER
|
280
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
281
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
282
|
+
#endif
|
283
|
+
#ifndef _M_AMD64
|
284
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
285
|
+
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
286
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
287
|
+
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
288
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
289
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
290
|
+
#endif
|
291
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
292
|
+
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
293
|
+
#endif
|
294
|
+
|
295
|
+
|
296
|
+
#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
|
297
|
+
|
298
|
+
#undef BOOST_TT_NOEXCEPT_DECL
|
299
|
+
#define BOOST_TT_NOEXCEPT_DECL noexcept
|
300
|
+
|
301
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
302
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
303
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
304
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
305
|
+
// const qualified:
|
306
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
307
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
308
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
309
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
310
|
+
// volatile:
|
311
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
312
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
313
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
314
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
315
|
+
// const volatile
|
316
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
317
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
318
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
319
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
320
|
+
|
321
|
+
// Reference qualified:
|
322
|
+
|
323
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
324
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
325
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
326
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
327
|
+
// const qualified:
|
328
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
329
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
330
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
331
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
332
|
+
// volatile:
|
333
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
334
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
335
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
336
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
337
|
+
// const volatile
|
338
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
339
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
340
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
341
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
342
|
+
|
343
|
+
// rvalue reference qualified:
|
344
|
+
|
345
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
346
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
347
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
348
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
349
|
+
// const qualified:
|
350
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
351
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
352
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
353
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
354
|
+
// volatile:
|
355
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
356
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
357
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
358
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
359
|
+
// const volatile
|
360
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
361
|
+
struct is_member_function_pointer<Ret(BOOST_TT_DEF_CALL C::*)(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
362
|
+
template <class Ret, class C, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
363
|
+
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
364
|
+
|
365
|
+
#ifdef _MSC_VER
|
366
|
+
#ifdef __CLR_VER
|
367
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
368
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
369
|
+
#endif
|
370
|
+
#ifndef _M_AMD64
|
371
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
372
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
373
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
374
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
375
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
376
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
377
|
+
#endif
|
378
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
379
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
380
|
+
// const:
|
381
|
+
#ifdef __CLR_VER
|
382
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
383
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
384
|
+
#endif
|
385
|
+
#ifndef _M_AMD64
|
386
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
387
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
388
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
389
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
390
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
391
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
392
|
+
#endif
|
393
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
394
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
395
|
+
// volatile:
|
396
|
+
#ifdef __CLR_VER
|
397
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
398
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
399
|
+
#endif
|
400
|
+
#ifndef _M_AMD64
|
401
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
402
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
403
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
404
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
405
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
406
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
407
|
+
#endif
|
408
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
409
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
410
|
+
// const volatile:
|
411
|
+
#ifdef __CLR_VER
|
412
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
413
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
414
|
+
#endif
|
415
|
+
#ifndef _M_AMD64
|
416
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
417
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
418
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
419
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
420
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
421
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
422
|
+
#endif
|
423
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
424
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
425
|
+
|
426
|
+
// reference qualified:
|
427
|
+
#ifdef __CLR_VER
|
428
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
429
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
430
|
+
#endif
|
431
|
+
#ifndef _M_AMD64
|
432
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
433
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
434
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
435
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
436
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
437
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
438
|
+
#endif
|
439
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
440
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
441
|
+
// const:
|
442
|
+
#ifdef __CLR_VER
|
443
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
444
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
445
|
+
#endif
|
446
|
+
#ifndef _M_AMD64
|
447
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
448
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
449
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
450
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
451
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
452
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
453
|
+
#endif
|
454
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
455
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
456
|
+
// volatile:
|
457
|
+
#ifdef __CLR_VER
|
458
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
459
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
460
|
+
#endif
|
461
|
+
#ifndef _M_AMD64
|
462
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
463
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
464
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
465
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
466
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
467
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
468
|
+
#endif
|
469
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
470
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
471
|
+
// const volatile:
|
472
|
+
#ifdef __CLR_VER
|
473
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
474
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
475
|
+
#endif
|
476
|
+
#ifndef _M_AMD64
|
477
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
478
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
479
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
480
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
481
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
482
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
483
|
+
#endif
|
484
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
485
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
486
|
+
|
487
|
+
// rvalue reference qualified:
|
488
|
+
#ifdef __CLR_VER
|
489
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
490
|
+
struct is_member_function_pointer<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
491
|
+
#endif
|
492
|
+
#ifndef _M_AMD64
|
493
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
494
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
495
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
496
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
497
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
498
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
499
|
+
#endif
|
500
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
501
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
502
|
+
// const:
|
503
|
+
#ifdef __CLR_VER
|
504
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
505
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
506
|
+
#endif
|
507
|
+
#ifndef _M_AMD64
|
508
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
509
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
510
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
511
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
512
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
513
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
514
|
+
#endif
|
515
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
516
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
517
|
+
// volatile:
|
518
|
+
#ifdef __CLR_VER
|
519
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
520
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
521
|
+
#endif
|
522
|
+
#ifndef _M_AMD64
|
523
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
524
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
525
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
526
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
527
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
528
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
529
|
+
#endif
|
530
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
531
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
532
|
+
// const volatile:
|
533
|
+
#ifdef __CLR_VER
|
534
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
535
|
+
struct is_member_function_pointer<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
536
|
+
#endif
|
537
|
+
#ifndef _M_AMD64
|
538
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
539
|
+
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
540
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
541
|
+
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
542
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
543
|
+
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
544
|
+
#endif
|
545
|
+
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
546
|
+
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
547
|
+
#endif
|
548
|
+
|
549
|
+
|
550
|
+
#endif
|
551
|
+
|
552
|
+
#undef BOOST_TT_NOEXCEPT_DECL
|
553
|
+
#undef BOOST_TT_NOEXCEPT_PARAM
|
554
|
+
#undef BOOST_TT_DEF_CALL
|
555
|
+
}
|
556
|
+
|
557
|
+
#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED
|