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