passenger 6.0.1 → 6.0.6
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 +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
@@ -32,21 +32,26 @@
|
|
32
32
|
#include <boost/static_assert.hpp>
|
33
33
|
#include <boost/throw_exception.hpp>
|
34
34
|
#include <boost/core/demangle.hpp>
|
35
|
+
#include <boost/type_traits/conditional.hpp>
|
35
36
|
#include <boost/type_traits/is_const.hpp>
|
36
37
|
#include <boost/type_traits/is_reference.hpp>
|
37
38
|
#include <boost/type_traits/is_volatile.hpp>
|
38
39
|
#include <boost/type_traits/remove_cv.hpp>
|
39
40
|
#include <boost/type_traits/remove_reference.hpp>
|
40
|
-
#include <boost/mpl/if.hpp>
|
41
|
-
#include <boost/mpl/or.hpp>
|
42
41
|
|
43
|
-
#
|
42
|
+
#if (defined(_MSC_VER) && _MSC_VER > 1600) \
|
43
|
+
|| (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \
|
44
|
+
|| (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103)
|
45
|
+
# define BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
|
46
|
+
#else
|
47
|
+
# include <boost/container_hash/hash.hpp>
|
48
|
+
#endif
|
44
49
|
|
45
50
|
#if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \
|
46
51
|
|| (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744)
|
47
52
|
# include <boost/type_traits/is_signed.hpp>
|
48
53
|
# include <boost/type_traits/make_signed.hpp>
|
49
|
-
# include <boost/
|
54
|
+
# include <boost/type_traits/type_identity.hpp>
|
50
55
|
#endif
|
51
56
|
|
52
57
|
#ifdef BOOST_HAS_PRAGMA_ONCE
|
@@ -176,9 +181,7 @@ inline std::string stl_type_index::pretty_name() const {
|
|
176
181
|
|
177
182
|
|
178
183
|
inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
|
179
|
-
#
|
180
|
-
|| (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \
|
181
|
-
|| (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103)
|
184
|
+
#ifdef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
|
182
185
|
return data_->hash_code();
|
183
186
|
#else
|
184
187
|
return boost::hash_range(raw_name(), raw_name() + std::strlen(raw_name()));
|
@@ -195,13 +198,13 @@ inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
|
|
195
198
|
|| (defined(__sgi) && defined(__host_mips)) \
|
196
199
|
|| (defined(__hpux) && defined(__HP_aCC)) \
|
197
200
|
|| (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC))
|
198
|
-
# define
|
201
|
+
# define BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
|
199
202
|
# endif
|
200
203
|
|
201
204
|
/// @endcond
|
202
205
|
|
203
206
|
inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEPT {
|
204
|
-
#ifdef
|
207
|
+
#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
|
205
208
|
return raw_name() == rhs.raw_name() || !std::strcmp(raw_name(), rhs.raw_name());
|
206
209
|
#else
|
207
210
|
return !!(*data_ == *rhs.data_);
|
@@ -209,17 +212,14 @@ inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEP
|
|
209
212
|
}
|
210
213
|
|
211
214
|
inline bool stl_type_index::before(const stl_type_index& rhs) const BOOST_NOEXCEPT {
|
212
|
-
#ifdef
|
215
|
+
#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
|
213
216
|
return raw_name() != rhs.raw_name() && std::strcmp(raw_name(), rhs.raw_name()) < 0;
|
214
217
|
#else
|
215
218
|
return !!data_->before(*rhs.data_);
|
216
219
|
#endif
|
217
220
|
}
|
218
221
|
|
219
|
-
#
|
220
|
-
#undef BOOST_CLASSINFO_COMPARE_BY_NAMES
|
221
|
-
#endif
|
222
|
-
|
222
|
+
#undef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
|
223
223
|
|
224
224
|
|
225
225
|
template <class T>
|
@@ -232,10 +232,10 @@ inline stl_type_index stl_type_index::type_id() BOOST_NOEXCEPT {
|
|
232
232
|
|
233
233
|
// Old EDG-based compilers seem to mistakenly distinguish 'integral' from 'signed integral'
|
234
234
|
// in typeid() expressions. Full template specialization for 'integral' fixes that issue:
|
235
|
-
typedef BOOST_DEDUCED_TYPENAME boost::
|
236
|
-
boost::is_signed<no_cvr_prefinal_t
|
235
|
+
typedef BOOST_DEDUCED_TYPENAME boost::conditional<
|
236
|
+
boost::is_signed<no_cvr_prefinal_t>::value,
|
237
237
|
boost::make_signed<no_cvr_prefinal_t>,
|
238
|
-
boost::
|
238
|
+
boost::type_identity<no_cvr_prefinal_t>
|
239
239
|
>::type no_cvr_prefinal_lazy_t;
|
240
240
|
|
241
241
|
typedef BOOST_DEDUCED_TYPENAME no_cvr_prefinal_t::type no_cvr_t;
|
@@ -252,8 +252,8 @@ namespace detail {
|
|
252
252
|
|
253
253
|
template <class T>
|
254
254
|
inline stl_type_index stl_type_index::type_id_with_cvr() BOOST_NOEXCEPT {
|
255
|
-
typedef BOOST_DEDUCED_TYPENAME boost::
|
256
|
-
boost::
|
255
|
+
typedef BOOST_DEDUCED_TYPENAME boost::conditional<
|
256
|
+
boost::is_reference<T>::value || boost::is_const<T>::value || boost::is_volatile<T>::value,
|
257
257
|
detail::cvr_saver<T>,
|
258
258
|
T
|
259
259
|
>::type type;
|
@@ -273,4 +273,6 @@ inline stl_type_index stl_type_index::type_id_runtime(const T& value) BOOST_NOEX
|
|
273
273
|
|
274
274
|
}} // namespace boost::typeindex
|
275
275
|
|
276
|
+
#undef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
|
277
|
+
|
276
278
|
#endif // BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP
|
@@ -206,9 +206,11 @@ private:
|
|
206
206
|
|
207
207
|
static bool cond();
|
208
208
|
|
209
|
+
BOOST_STATIC_CONSTANT(int, selector = sizeof(select(cond() ? T() : U())));
|
210
|
+
|
209
211
|
public:
|
210
212
|
|
211
|
-
typedef typename arithmetic_type<
|
213
|
+
typedef typename arithmetic_type<selector>::type type;
|
212
214
|
};
|
213
215
|
|
214
216
|
} // namespace type_traits_detail
|
@@ -78,6 +78,15 @@
|
|
78
78
|
#undef BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION
|
79
79
|
#endif
|
80
80
|
|
81
|
+
//
|
82
|
+
// Can we implement accurate is_function/is_member_function_pointer (post C++03)?
|
83
|
+
//
|
84
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40900)\
|
85
|
+
&& !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
|
86
|
+
# define BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
87
|
+
#endif
|
88
|
+
|
89
|
+
|
81
90
|
#endif // BOOST_TT_CONFIG_HPP_INCLUDED
|
82
91
|
|
83
92
|
|
@@ -7,6 +7,59 @@
|
|
7
7
|
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
8
8
|
|
9
9
|
#include <boost/config.hpp>
|
10
|
+
#include <boost/type_traits/detail/config.hpp>
|
11
|
+
|
12
|
+
#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
|
13
|
+
|
14
|
+
#include <boost/type_traits/integral_constant.hpp>
|
15
|
+
#include <boost/type_traits/make_void.hpp>
|
16
|
+
#include <boost/type_traits/is_convertible.hpp>
|
17
|
+
#include <boost/type_traits/is_void.hpp>
|
18
|
+
#include <boost/type_traits/add_reference.hpp>
|
19
|
+
#include <utility>
|
20
|
+
|
21
|
+
namespace boost
|
22
|
+
{
|
23
|
+
|
24
|
+
namespace binary_op_detail {
|
25
|
+
|
26
|
+
struct dont_care;
|
27
|
+
|
28
|
+
template <class T, class Ret, class = boost::void_t<>>
|
29
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {};
|
30
|
+
|
31
|
+
template <class T, class Ret>
|
32
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)<T, Ret, boost::void_t<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP) > >
|
33
|
+
: public boost::integral_constant<bool, ::boost::is_convertible<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP), Ret>::value> {};
|
34
|
+
|
35
|
+
template <class T, class = boost::void_t<> >
|
36
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {};
|
37
|
+
|
38
|
+
template <class T>
|
39
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)<T, boost::void_t<decltype(std::declval<typename add_reference<T>::type>()BOOST_TT_TRAIT_OP)> >
|
40
|
+
: public boost::integral_constant<bool, ::boost::is_void<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP)>::value> {};
|
41
|
+
|
42
|
+
template <class T, class = boost::void_t<>>
|
43
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {};
|
44
|
+
|
45
|
+
template <class T>
|
46
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)<T, boost::void_t<decltype(std::declval<typename add_reference<T>::type>() BOOST_TT_TRAIT_OP)> >
|
47
|
+
: public boost::true_type {};
|
48
|
+
|
49
|
+
}
|
50
|
+
|
51
|
+
template <class T, class Ret = boost::binary_op_detail::dont_care>
|
52
|
+
struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) <T, Ret> {};
|
53
|
+
template <class T>
|
54
|
+
struct BOOST_TT_TRAIT_NAME<T, void> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) <T> {};
|
55
|
+
template <class T>
|
56
|
+
struct BOOST_TT_TRAIT_NAME<T, boost::binary_op_detail::dont_care> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) <T> {};
|
57
|
+
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
#else
|
62
|
+
|
10
63
|
#include <boost/type_traits/detail/yes_no_type.hpp>
|
11
64
|
#include <boost/type_traits/integral_constant.hpp>
|
12
65
|
#include <boost/type_traits/is_const.hpp>
|
@@ -193,3 +246,5 @@ struct BOOST_TT_TRAIT_NAME : public integral_constant |
|
193
246
|
#if defined(BOOST_MSVC)
|
194
247
|
# pragma warning ( pop )
|
195
248
|
#endif
|
249
|
+
|
250
|
+
#endif
|
@@ -7,6 +7,75 @@
|
|
7
7
|
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
8
8
|
|
9
9
|
#include <boost/config.hpp>
|
10
|
+
#include <boost/type_traits/detail/config.hpp>
|
11
|
+
|
12
|
+
#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
|
13
|
+
|
14
|
+
#include <boost/type_traits/integral_constant.hpp>
|
15
|
+
#include <boost/type_traits/make_void.hpp>
|
16
|
+
#include <boost/type_traits/is_convertible.hpp>
|
17
|
+
#include <boost/type_traits/is_void.hpp>
|
18
|
+
#include <boost/type_traits/add_reference.hpp>
|
19
|
+
#include <utility>
|
20
|
+
|
21
|
+
#ifdef BOOST_GCC
|
22
|
+
#pragma GCC diagnostic push
|
23
|
+
#pragma GCC diagnostic ignored "-Wdeprecated"
|
24
|
+
#endif
|
25
|
+
#if defined(BOOST_MSVC)
|
26
|
+
# pragma warning ( push )
|
27
|
+
# pragma warning ( disable : 4804)
|
28
|
+
#endif
|
29
|
+
|
30
|
+
namespace boost
|
31
|
+
{
|
32
|
+
|
33
|
+
namespace binary_op_detail {
|
34
|
+
|
35
|
+
struct dont_care;
|
36
|
+
|
37
|
+
template <class T, class Ret, class = boost::void_t<>>
|
38
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {};
|
39
|
+
|
40
|
+
template <class T, class Ret>
|
41
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)<T, Ret, boost::void_t<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>()) > >
|
42
|
+
: public boost::integral_constant<bool, ::boost::is_convertible<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>() ), Ret>::value> {};
|
43
|
+
|
44
|
+
template <class T, class = boost::void_t<> >
|
45
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {};
|
46
|
+
|
47
|
+
template <class T>
|
48
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)<T, boost::void_t<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>())> >
|
49
|
+
: public boost::integral_constant<bool, ::boost::is_void<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>())>::value> {};
|
50
|
+
|
51
|
+
template <class T, class = boost::void_t<>>
|
52
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {};
|
53
|
+
|
54
|
+
template <class T>
|
55
|
+
struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)<T, boost::void_t<decltype(BOOST_TT_TRAIT_OP std::declval<typename add_reference<T>::type>() )> >
|
56
|
+
: public boost::true_type {};
|
57
|
+
|
58
|
+
}
|
59
|
+
|
60
|
+
template <class T, class Ret = boost::binary_op_detail::dont_care>
|
61
|
+
struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) <T, Ret> {};
|
62
|
+
template <class T>
|
63
|
+
struct BOOST_TT_TRAIT_NAME<T, void> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) <T> {};
|
64
|
+
template <class T>
|
65
|
+
struct BOOST_TT_TRAIT_NAME<T, boost::binary_op_detail::dont_care> : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) <T> {};
|
66
|
+
|
67
|
+
|
68
|
+
}
|
69
|
+
|
70
|
+
#ifdef BOOST_GCC
|
71
|
+
#pragma GCC diagnostic pop
|
72
|
+
#endif
|
73
|
+
#if defined(BOOST_MSVC)
|
74
|
+
# pragma warning ( pop )
|
75
|
+
#endif
|
76
|
+
|
77
|
+
#else
|
78
|
+
|
10
79
|
#include <boost/type_traits/detail/yes_no_type.hpp>
|
11
80
|
#include <boost/type_traits/integral_constant.hpp>
|
12
81
|
#include <boost/type_traits/is_const.hpp>
|
@@ -206,3 +275,6 @@ struct BOOST_TT_TRAIT_NAME : public integral_constant |
|
206
275
|
#if defined(BOOST_MSVC)
|
207
276
|
# pragma warning ( pop )
|
208
277
|
#endif
|
278
|
+
|
279
|
+
#endif
|
280
|
+
|
@@ -0,0 +1,108 @@
|
|
1
|
+
|
2
|
+
// Copyright 2000 John Maddock (john@johnmaddock.co.uk)
|
3
|
+
// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)
|
4
|
+
//
|
5
|
+
// Use, modification and distribution are subject to the Boost Software License,
|
6
|
+
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
7
|
+
// http://www.boost.org/LICENSE_1_0.txt).
|
8
|
+
//
|
9
|
+
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
10
|
+
|
11
|
+
#ifndef BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED
|
12
|
+
#define BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED
|
13
|
+
|
14
|
+
#include <boost/type_traits/is_reference.hpp>
|
15
|
+
|
16
|
+
#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
17
|
+
# include <boost/type_traits/detail/is_function_ptr_helper.hpp>
|
18
|
+
#else
|
19
|
+
# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
|
20
|
+
# include <boost/type_traits/detail/yes_no_type.hpp>
|
21
|
+
#endif
|
22
|
+
|
23
|
+
// is a type a function?
|
24
|
+
// Please note that this implementation is unnecessarily complex:
|
25
|
+
// we could just use !is_convertible<T*, const volatile void*>::value,
|
26
|
+
// except that some compilers erroneously allow conversions from
|
27
|
+
// function pointers to void*.
|
28
|
+
|
29
|
+
namespace boost {
|
30
|
+
|
31
|
+
#if !defined( __CODEGEARC__ )
|
32
|
+
|
33
|
+
namespace detail {
|
34
|
+
|
35
|
+
#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
36
|
+
template<bool is_ref = true>
|
37
|
+
struct is_function_chooser
|
38
|
+
{
|
39
|
+
template< typename T > struct result_
|
40
|
+
: public false_type {};
|
41
|
+
};
|
42
|
+
|
43
|
+
template <>
|
44
|
+
struct is_function_chooser<false>
|
45
|
+
{
|
46
|
+
template< typename T > struct result_
|
47
|
+
: public ::boost::type_traits::is_function_ptr_helper<T*> {};
|
48
|
+
};
|
49
|
+
|
50
|
+
template <typename T>
|
51
|
+
struct is_function_impl
|
52
|
+
: public is_function_chooser< ::boost::is_reference<T>::value >
|
53
|
+
::BOOST_NESTED_TEMPLATE result_<T>
|
54
|
+
{
|
55
|
+
};
|
56
|
+
|
57
|
+
#else
|
58
|
+
|
59
|
+
template <typename T>
|
60
|
+
struct is_function_impl
|
61
|
+
{
|
62
|
+
#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
|
63
|
+
#pragma warning(push)
|
64
|
+
#pragma warning(disable:6334)
|
65
|
+
#endif
|
66
|
+
static T* t;
|
67
|
+
BOOST_STATIC_CONSTANT(
|
68
|
+
bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
|
69
|
+
== sizeof(::boost::type_traits::yes_type)
|
70
|
+
);
|
71
|
+
#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
|
72
|
+
#pragma warning(pop)
|
73
|
+
#endif
|
74
|
+
};
|
75
|
+
|
76
|
+
template <typename T>
|
77
|
+
struct is_function_impl<T&> : public false_type
|
78
|
+
{};
|
79
|
+
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
80
|
+
template <typename T>
|
81
|
+
struct is_function_impl<T&&> : public false_type
|
82
|
+
{};
|
83
|
+
#endif
|
84
|
+
|
85
|
+
#endif
|
86
|
+
|
87
|
+
} // namespace detail
|
88
|
+
|
89
|
+
#endif // !defined( __CODEGEARC__ )
|
90
|
+
|
91
|
+
#if defined( __CODEGEARC__ )
|
92
|
+
template <class T> struct is_function : integral_constant<bool, __is_function(T)> {};
|
93
|
+
#else
|
94
|
+
template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {};
|
95
|
+
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
96
|
+
template <class T> struct is_function<T&&> : public false_type {};
|
97
|
+
#endif
|
98
|
+
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1600)
|
99
|
+
template <class T> struct is_function<T&> : public false_type {};
|
100
|
+
#endif
|
101
|
+
#endif
|
102
|
+
} // namespace boost
|
103
|
+
|
104
|
+
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700)
|
105
|
+
#include <boost/type_traits/detail/is_function_msvc10_fix.hpp>
|
106
|
+
#endif
|
107
|
+
|
108
|
+
#endif // BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED
|
@@ -0,0 +1,501 @@
|
|
1
|
+
|
2
|
+
// Copyright 2000 John Maddock (john@johnmaddock.co.uk)
|
3
|
+
// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com)
|
4
|
+
//
|
5
|
+
// Use, modification and distribution are subject to the Boost Software License,
|
6
|
+
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
7
|
+
// http://www.boost.org/LICENSE_1_0.txt).
|
8
|
+
//
|
9
|
+
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
10
|
+
|
11
|
+
#ifndef BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED
|
12
|
+
#define BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED
|
13
|
+
|
14
|
+
#include <boost/type_traits/integral_constant.hpp>
|
15
|
+
|
16
|
+
namespace boost {
|
17
|
+
|
18
|
+
template <class T>
|
19
|
+
struct is_function : public false_type {};
|
20
|
+
|
21
|
+
#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER)
|
22
|
+
#define BOOST_TT_NOEXCEPT_PARAM , bool NE
|
23
|
+
#define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
|
24
|
+
#else
|
25
|
+
#define BOOST_TT_NOEXCEPT_PARAM
|
26
|
+
#define BOOST_TT_NOEXCEPT_DECL
|
27
|
+
#endif
|
28
|
+
|
29
|
+
#ifdef _MSC_VER
|
30
|
+
#define BOOST_TT_DEF_CALL __cdecl
|
31
|
+
#else
|
32
|
+
#define BOOST_TT_DEF_CALL
|
33
|
+
#endif
|
34
|
+
|
35
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
36
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
37
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
38
|
+
struct is_function<Ret(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
39
|
+
// const qualified:
|
40
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
41
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
42
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
43
|
+
struct is_function<Ret(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
44
|
+
// volatile:
|
45
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
46
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
47
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
48
|
+
struct is_function<Ret(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
49
|
+
// const volatile
|
50
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
51
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
52
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
53
|
+
struct is_function<Ret(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
54
|
+
|
55
|
+
// Reference qualified:
|
56
|
+
|
57
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
58
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
59
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
60
|
+
struct is_function<Ret(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
61
|
+
// const qualified:
|
62
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
63
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
64
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
65
|
+
struct is_function<Ret(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
66
|
+
// volatile:
|
67
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
68
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
69
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
70
|
+
struct is_function<Ret(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
71
|
+
// const volatile
|
72
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
73
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
74
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
75
|
+
struct is_function<Ret(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
76
|
+
|
77
|
+
// rvalue reference qualified:
|
78
|
+
|
79
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
80
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)&& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
81
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
82
|
+
struct is_function<Ret(Args..., ...)&& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
83
|
+
// const qualified:
|
84
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
85
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
86
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
87
|
+
struct is_function<Ret(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
88
|
+
// volatile:
|
89
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
90
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
91
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
92
|
+
struct is_function<Ret(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
93
|
+
// const volatile
|
94
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
95
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
96
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
97
|
+
struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
98
|
+
|
99
|
+
#ifdef _MSC_VER
|
100
|
+
#ifdef __CLR_VER
|
101
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
102
|
+
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
103
|
+
#endif
|
104
|
+
#ifndef _M_AMD64
|
105
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
106
|
+
struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
107
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
108
|
+
struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
109
|
+
#endif
|
110
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
111
|
+
struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
112
|
+
// const:
|
113
|
+
#ifdef __CLR_VER
|
114
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
115
|
+
struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
116
|
+
#endif
|
117
|
+
#ifndef _M_AMD64
|
118
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
119
|
+
struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
120
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
121
|
+
struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
122
|
+
#endif
|
123
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
124
|
+
struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
125
|
+
// volatile:
|
126
|
+
#ifdef __CLR_VER
|
127
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
128
|
+
struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
129
|
+
#endif
|
130
|
+
#ifndef _M_AMD64
|
131
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
132
|
+
struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
133
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
134
|
+
struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
135
|
+
#endif
|
136
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
137
|
+
struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
138
|
+
// const volatile:
|
139
|
+
#ifdef __CLR_VER
|
140
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
141
|
+
struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
142
|
+
#endif
|
143
|
+
#ifndef _M_AMD64
|
144
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
145
|
+
struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
146
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
147
|
+
struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
148
|
+
#endif
|
149
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
150
|
+
struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
151
|
+
|
152
|
+
// reference qualified:
|
153
|
+
#ifdef __CLR_VER
|
154
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
155
|
+
struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
156
|
+
#endif
|
157
|
+
#ifndef _M_AMD64
|
158
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
159
|
+
struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
160
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
161
|
+
struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
162
|
+
#endif
|
163
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
164
|
+
struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
165
|
+
// const:
|
166
|
+
#ifdef __CLR_VER
|
167
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
168
|
+
struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
169
|
+
#endif
|
170
|
+
#ifndef _M_AMD64
|
171
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
172
|
+
struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
173
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
174
|
+
struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
175
|
+
#endif
|
176
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
177
|
+
struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
178
|
+
// volatile:
|
179
|
+
#ifdef __CLR_VER
|
180
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
181
|
+
struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
182
|
+
#endif
|
183
|
+
#ifndef _M_AMD64
|
184
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
185
|
+
struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
186
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
187
|
+
struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
188
|
+
#endif
|
189
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
190
|
+
struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
191
|
+
// const volatile:
|
192
|
+
#ifdef __CLR_VER
|
193
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
194
|
+
struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
195
|
+
#endif
|
196
|
+
#ifndef _M_AMD64
|
197
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
198
|
+
struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
199
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
200
|
+
struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
201
|
+
#endif
|
202
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
203
|
+
struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
204
|
+
|
205
|
+
// rvalue reference qualified:
|
206
|
+
#ifdef __CLR_VER
|
207
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
208
|
+
struct is_function<Ret __clrcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
209
|
+
#endif
|
210
|
+
#ifndef _M_AMD64
|
211
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
212
|
+
struct is_function<Ret __stdcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
213
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
214
|
+
struct is_function<Ret __fastcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
215
|
+
#endif
|
216
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
217
|
+
struct is_function<Ret __vectorcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
218
|
+
// const:
|
219
|
+
#ifdef __CLR_VER
|
220
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
221
|
+
struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
222
|
+
#endif
|
223
|
+
#ifndef _M_AMD64
|
224
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
225
|
+
struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
226
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
227
|
+
struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
228
|
+
#endif
|
229
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
230
|
+
struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
231
|
+
// volatile:
|
232
|
+
#ifdef __CLR_VER
|
233
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
234
|
+
struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
235
|
+
#endif
|
236
|
+
#ifndef _M_AMD64
|
237
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
238
|
+
struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
239
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
240
|
+
struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
241
|
+
#endif
|
242
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
243
|
+
struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
244
|
+
// const volatile:
|
245
|
+
#ifdef __CLR_VER
|
246
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
247
|
+
struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
248
|
+
#endif
|
249
|
+
#ifndef _M_AMD64
|
250
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
251
|
+
struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
252
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
253
|
+
struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
254
|
+
#endif
|
255
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
256
|
+
struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
257
|
+
|
258
|
+
#endif // _MSC_VER
|
259
|
+
|
260
|
+
// All over again for msvc with noexcept:
|
261
|
+
|
262
|
+
#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
|
263
|
+
|
264
|
+
#undef BOOST_TT_NOEXCEPT_DECL
|
265
|
+
#define BOOST_TT_NOEXCEPT_DECL noexcept
|
266
|
+
|
267
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
268
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
269
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
270
|
+
struct is_function<Ret(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
271
|
+
// const qualified:
|
272
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
273
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
274
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
275
|
+
struct is_function<Ret(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
276
|
+
// volatile:
|
277
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
278
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
279
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
280
|
+
struct is_function<Ret(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
281
|
+
// const volatile
|
282
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
283
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
284
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
285
|
+
struct is_function<Ret(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
286
|
+
|
287
|
+
// Reference qualified:
|
288
|
+
|
289
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
290
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
291
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
292
|
+
struct is_function<Ret(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
293
|
+
// const qualified:
|
294
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
295
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
296
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
297
|
+
struct is_function<Ret(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
298
|
+
// volatile:
|
299
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
300
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
301
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
302
|
+
struct is_function<Ret(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
303
|
+
// const volatile
|
304
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
305
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
306
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
307
|
+
struct is_function<Ret(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
308
|
+
|
309
|
+
// rvalue reference qualified:
|
310
|
+
|
311
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
312
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
313
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
314
|
+
struct is_function<Ret(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
315
|
+
// const qualified:
|
316
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
317
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
318
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
319
|
+
struct is_function<Ret(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
320
|
+
// volatile:
|
321
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
322
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
323
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
324
|
+
struct is_function<Ret(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
325
|
+
// const volatile
|
326
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
327
|
+
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
328
|
+
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
329
|
+
struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
330
|
+
|
331
|
+
#ifdef _MSC_VER
|
332
|
+
#ifdef __CLR_VER
|
333
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
334
|
+
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
335
|
+
#endif
|
336
|
+
#ifndef _M_AMD64
|
337
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
338
|
+
struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
339
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
340
|
+
struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
341
|
+
#endif
|
342
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
343
|
+
struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
344
|
+
// const:
|
345
|
+
#ifdef __CLR_VER
|
346
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
347
|
+
struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
348
|
+
#endif
|
349
|
+
#ifndef _M_AMD64
|
350
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
351
|
+
struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
352
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
353
|
+
struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
354
|
+
#endif
|
355
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
356
|
+
struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
357
|
+
// volatile:
|
358
|
+
#ifdef __CLR_VER
|
359
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
360
|
+
struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
361
|
+
#endif
|
362
|
+
#ifndef _M_AMD64
|
363
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
364
|
+
struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
365
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
366
|
+
struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
367
|
+
#endif
|
368
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
369
|
+
struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
370
|
+
// const volatile:
|
371
|
+
#ifdef __CLR_VER
|
372
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
373
|
+
struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
374
|
+
#endif
|
375
|
+
#ifndef _M_AMD64
|
376
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
377
|
+
struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
378
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
379
|
+
struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
380
|
+
#endif
|
381
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
382
|
+
struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
383
|
+
|
384
|
+
// reference qualified:
|
385
|
+
#ifdef __CLR_VER
|
386
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
387
|
+
struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
388
|
+
#endif
|
389
|
+
#ifndef _M_AMD64
|
390
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
391
|
+
struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
392
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
393
|
+
struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
394
|
+
#endif
|
395
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
396
|
+
struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
397
|
+
// const:
|
398
|
+
#ifdef __CLR_VER
|
399
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
400
|
+
struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
401
|
+
#endif
|
402
|
+
#ifndef _M_AMD64
|
403
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
404
|
+
struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
405
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
406
|
+
struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
407
|
+
#endif
|
408
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
409
|
+
struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
410
|
+
// volatile:
|
411
|
+
#ifdef __CLR_VER
|
412
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
413
|
+
struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
414
|
+
#endif
|
415
|
+
#ifndef _M_AMD64
|
416
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
417
|
+
struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
418
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
419
|
+
struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
420
|
+
#endif
|
421
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
422
|
+
struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
423
|
+
// const volatile:
|
424
|
+
#ifdef __CLR_VER
|
425
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
426
|
+
struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
427
|
+
#endif
|
428
|
+
#ifndef _M_AMD64
|
429
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
430
|
+
struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
431
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
432
|
+
struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
433
|
+
#endif
|
434
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
435
|
+
struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
436
|
+
|
437
|
+
// rvalue reference qualified:
|
438
|
+
#ifdef __CLR_VER
|
439
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
440
|
+
struct is_function<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
441
|
+
#endif
|
442
|
+
#ifndef _M_AMD64
|
443
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
444
|
+
struct is_function<Ret __stdcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
445
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
446
|
+
struct is_function<Ret __fastcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
447
|
+
#endif
|
448
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
449
|
+
struct is_function<Ret __vectorcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
450
|
+
// const:
|
451
|
+
#ifdef __CLR_VER
|
452
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
453
|
+
struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
454
|
+
#endif
|
455
|
+
#ifndef _M_AMD64
|
456
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
457
|
+
struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
458
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
459
|
+
struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
460
|
+
#endif
|
461
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
462
|
+
struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
463
|
+
// volatile:
|
464
|
+
#ifdef __CLR_VER
|
465
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
466
|
+
struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
467
|
+
#endif
|
468
|
+
#ifndef _M_AMD64
|
469
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
470
|
+
struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
471
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
472
|
+
struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
473
|
+
#endif
|
474
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
475
|
+
struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
476
|
+
// const volatile:
|
477
|
+
#ifdef __CLR_VER
|
478
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
479
|
+
struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
480
|
+
#endif
|
481
|
+
#ifndef _M_AMD64
|
482
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
483
|
+
struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
484
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
485
|
+
struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
486
|
+
#endif
|
487
|
+
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
488
|
+
struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
489
|
+
|
490
|
+
#endif // _MSC_VER
|
491
|
+
|
492
|
+
#endif
|
493
|
+
|
494
|
+
}
|
495
|
+
|
496
|
+
#undef BOOST_TT_NOEXCEPT_DECL
|
497
|
+
#undef BOOST_TT_NOEXCEPT_PARAM
|
498
|
+
#undef BOOST_TT_DEF_CALL
|
499
|
+
|
500
|
+
#endif // BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED
|
501
|
+
|