passenger 6.0.25 → 6.0.27
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 +33 -1
- data/CONTRIBUTING.md +2 -2
- data/build/agent.rb +0 -2
- data/build/basics.rb +2 -0
- data/build/common_library.rb +0 -6
- data/build/misc.rb +0 -2
- data/build/schema_printer.rb +0 -2
- data/build/support/cxx_dependency_map.rb +57 -254
- data/dev/copy_boost_headers +3 -14
- data/dev/index_cxx_dependencies.rb +1 -1
- data/doc/AiInstructions.md +112 -0
- data/doc/CxxMockingStrategy.md +42 -0
- data/doc/CxxTestingGuide.md +110 -0
- data/doc/DesignAspects/LimitedGemDependencies.md +22 -14
- data/doc/TempFileHandling.md +15 -0
- data/passenger.gemspec +1 -1
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApiServer.h +0 -1
- data/src/agent/Core/ApplicationPool/AbstractSession.h +10 -1
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +33 -18
- data/src/agent/Core/ApplicationPool/Group.h +0 -1
- data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -3
- data/src/agent/Core/ApplicationPool/Session.h +14 -19
- data/src/agent/Core/ApplicationPool/Socket.h +15 -5
- data/src/agent/Core/ApplicationPool/TestSession.h +74 -15
- data/src/agent/Core/Config.h +2 -34
- data/src/agent/Core/ConfigChange.cpp +1 -41
- data/src/agent/Core/Controller/CheckoutSession.cpp +100 -14
- data/src/agent/Core/Controller/Client.h +0 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/Hooks.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +2 -0
- data/src/agent/Core/Controller/InternalUtils.cpp +12 -0
- data/src/agent/Core/Controller/Request.h +3 -2
- data/src/agent/Core/Controller.h +12 -13
- data/src/agent/Core/CoreMain.cpp +1 -56
- data/src/agent/Core/OptionParser.h +1 -7
- data/src/agent/Core/SecurityUpdateChecker.h +0 -1
- data/src/agent/Watchdog/Config.h +2 -21
- data/src/agent/Watchdog/WatchdogMain.cpp +0 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +0 -20
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +0 -60
- data/src/apache2_module/Hooks.cpp +0 -4
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +0 -44
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +0 -52
- data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.h +4 -7
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -160
- data/src/cxx_supportlib/Constants.h +2 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +2 -3
- data/src/cxx_supportlib/FileTools/FileManip.h +2 -0
- data/src/cxx_supportlib/Hooks.h +0 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +49 -60
- data/src/cxx_supportlib/IOTools/IOUtils.h +65 -73
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -0
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +24 -24
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +2 -2
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +0 -2
- data/src/cxx_supportlib/Utils/FastStringStream.h +7 -7
- data/src/cxx_supportlib/Utils/IniFile.h +24 -25
- data/src/cxx_supportlib/Utils.h +0 -30
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +4 -0
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -0
- data/src/cxx_supportlib/oxt/implementation.cpp +41 -2
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -0
- data/src/cxx_supportlib/oxt/system_calls.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +23 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +72 -49
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +36 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +21 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +10 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +21 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +73 -14
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +18 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
- 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/lcast_unsigned_converters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +1 -20
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_count.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +4 -49
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +47 -46
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +12 -252
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +101 -592
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +12 -24
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +37 -44
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +1 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +7 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +39 -90
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +16 -55
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +5 -14
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_type_traits.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +32 -110
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +28 -565
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +11 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +17 -21
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +20 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +34 -68
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +78 -356
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +31 -89
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +195 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +206 -17
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +1202 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +1065 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +30 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +248 -47
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +120 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_handle.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_handle.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/types_constructibility.hpp +172 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +32 -44
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +31 -35
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_printers.hpp +414 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -32
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -48
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +0 -24
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +0 -48
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +0 -16
- data/src/nginx_module/ngx_http_passenger_module.c +0 -4
- data/src/ruby_native_extension/passenger_native_support.c +19 -3
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +8 -24
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +0 -3
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -28
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +9 -8
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +2 -27
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +0 -30
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +8 -20
- data/src/ruby_supportlib/phusion_passenger.rb +7 -7
- data/src/schema_printer/SchemaPrinterMain.cpp +0 -4
- metadata +19 -670
- data/dev/websocketpp.patch +0 -39
- data/src/agent/Core/AdminPanelConnector.h +0 -680
- data/src/cxx_supportlib/DataStructures/HashMap.h +0 -60
- data/src/cxx_supportlib/FileTools/LargeFiles.cpp +0 -41
- data/src/cxx_supportlib/FileTools/LargeFiles.h +0 -43
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +0 -975
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +0 -338
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +0 -824
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +0 -353
- data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +0 -223
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +0 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +0 -950
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +0 -1364
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +0 -712
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +0 -826
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +0 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +0 -691
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +0 -1358
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +0 -628
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +0 -825
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +0 -989
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +0 -650
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +0 -1938
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +0 -2710
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +0 -644
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +0 -746
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +0 -1165
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +0 -452
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +0 -826
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +0 -624
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +0 -598
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +0 -615
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +0 -666
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +0 -618
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +0 -2755
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +0 -320
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +0 -267
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +0 -523
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +0 -303
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +0 -247
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +0 -159
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_composed.hpp +0 -1323
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +0 -525
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +0 -415
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +0 -1348
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +0 -220
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +0 -721
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +0 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +0 -713
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +0 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +0 -839
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +0 -127
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +0 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_message.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload.hpp +0 -222
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload_handler.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +0 -254
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +0 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +0 -122
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +0 -1413
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +0 -445
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +0 -341
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +0 -181
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +0 -190
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +0 -249
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +0 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +0 -268
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +0 -555
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +0 -513
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +0 -996
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +0 -471
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +0 -828
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +0 -400
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +0 -916
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +0 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +0 -610
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +0 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +0 -170
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +0 -234
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +0 -314
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +0 -677
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +0 -402
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +0 -95
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +0 -828
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +0 -4046
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +0 -348
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +0 -204
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +0 -209
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +0 -209
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +0 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +0 -689
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +0 -263
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +0 -282
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +0 -208
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +0 -196
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +0 -631
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +0 -665
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +0 -298
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +0 -273
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +0 -108
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +0 -521
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +0 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +0 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +0 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +0 -572
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +0 -325
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +0 -205
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -202
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +0 -196
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +0 -635
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +0 -757
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +0 -214
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +0 -243
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +0 -293
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +0 -377
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +0 -429
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +0 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +0 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +0 -57
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +0 -363
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +0 -391
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +0 -145
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +0 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +0 -390
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +0 -280
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +0 -1935
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +0 -1362
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +0 -1082
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +0 -1004
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +0 -755
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +0 -753
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +0 -390
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +0 -365
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +0 -364
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +0 -134
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +0 -538
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +0 -303
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +0 -295
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +0 -230
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +0 -363
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +0 -202
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +0 -681
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +0 -625
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +0 -183
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +0 -1224
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +0 -790
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +0 -257
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +0 -457
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +0 -226
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +0 -168
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +0 -125
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +0 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +0 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +0 -136
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +0 -278
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +0 -1198
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +0 -406
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +0 -386
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +0 -270
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +0 -270
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +0 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +0 -459
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +0 -705
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +0 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +0 -319
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +0 -435
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +0 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +0 -904
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +0 -564
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +0 -2670
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +0 -289
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +0 -556
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +0 -1402
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +0 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +0 -181
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +0 -279
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +0 -303
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -709
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +0 -782
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +0 -482
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -1507
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +0 -398
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +0 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +0 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +0 -158
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +0 -409
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +0 -284
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +0 -1114
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +0 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +0 -190
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +0 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +0 -309
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +0 -143
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +0 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +0 -568
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +0 -208
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +0 -344
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +0 -220
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +0 -233
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +0 -245
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +0 -775
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +0 -561
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +0 -215
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +0 -581
- data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +0 -315
- data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +0 -1549
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +0 -830
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +0 -3204
- data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +0 -346
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +0 -437
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +0 -347
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +0 -169
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +0 -561
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -873
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +0 -764
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +0 -211
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +0 -379
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +0 -378
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +0 -74
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +0 -219
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +0 -1324
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +0 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +0 -1044
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +0 -559
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -673
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +0 -965
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +0 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +0 -238
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +0 -1528
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +0 -843
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +0 -1059
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/websocketpp/COPYING +0 -145
- data/src/cxx_supportlib/vendor-modified/websocketpp/changelog.md +0 -444
- data/src/cxx_supportlib/vendor-modified/websocketpp/readme.md +0 -49
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/base64/base64.hpp +0 -178
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/client.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/close.hpp +0 -353
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio_ssl.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/chrono.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/connection_hdl.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/cpp11.hpp +0 -162
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/functional.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +0 -448
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/memory.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/network.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/platforms.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/random.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/regex.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/stdint.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/system_error.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/thread.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/time.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/type_traits.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/basic.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/none.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_client.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/boost_config.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core_client.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug.hpp +0 -286
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_client.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_server.hpp +0 -312
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection.hpp +0 -1642
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection_base.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint.hpp +0 -700
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint_base.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/error.hpp +0 -277
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/extension.hpp +0 -102
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -817
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -853
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/constants.hpp +0 -308
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/parser.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/request.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/response.hpp +0 -266
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/parser.hpp +0 -629
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/request.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/response.hpp +0 -188
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/connection_impl.hpp +0 -2375
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -87
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/basic.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/levels.hpp +0 -203
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/stub.hpp +0 -119
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/syslog.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/message.hpp +0 -340
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/pool.hpp +0 -229
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/base.hpp +0 -299
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi00.hpp +0 -462
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi07.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi08.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +0 -1072
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/processor.hpp +0 -407
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/none.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/random_device.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/server.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/sha1/sha1.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/base.hpp +0 -232
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/connection.hpp +0 -1197
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -1182
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -159
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -372
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -474
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/connection.hpp +0 -238
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/base.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/connection.hpp +0 -412
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/base.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -714
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -222
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/base.hpp +0 -95
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/connection.hpp +0 -286
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/uri.hpp +0 -356
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utf8_validator.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utilities.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/version.hpp +0 -61
@@ -22,19 +22,13 @@
|
|
22
22
|
#include <iosfwd>
|
23
23
|
#endif // BOOST_NO_IOSTREAM
|
24
24
|
|
25
|
-
#ifdef BOOST_OPTIONAL_DETAIL_USE_STD_TYPE_TRAITS
|
26
|
-
# include <type_traits>
|
27
|
-
#endif
|
28
|
-
|
29
25
|
#include <boost/assert.hpp>
|
30
26
|
#include <boost/core/addressof.hpp>
|
31
27
|
#include <boost/core/enable_if.hpp>
|
32
|
-
#include <boost/core/explicit_operator_bool.hpp>
|
33
28
|
#include <boost/core/invoke_swap.hpp>
|
29
|
+
#include <boost/core/launder.hpp>
|
34
30
|
#include <boost/optional/bad_optional_access.hpp>
|
35
|
-
#include <boost/static_assert.hpp>
|
36
31
|
#include <boost/throw_exception.hpp>
|
37
|
-
#include <boost/type.hpp>
|
38
32
|
#include <boost/type_traits/alignment_of.hpp>
|
39
33
|
#include <boost/type_traits/conditional.hpp>
|
40
34
|
#include <boost/type_traits/conjunction.hpp>
|
@@ -56,16 +50,14 @@
|
|
56
50
|
#include <boost/type_traits/is_same.hpp>
|
57
51
|
#include <boost/type_traits/is_volatile.hpp>
|
58
52
|
#include <boost/type_traits/is_scalar.hpp>
|
59
|
-
#include <boost/move/utility.hpp>
|
60
53
|
#include <boost/none.hpp>
|
61
|
-
#include <boost/utility/compare_pointees.hpp>
|
62
|
-
#include <boost/utility/result_of.hpp>
|
63
54
|
|
64
55
|
#include <boost/optional/optional_fwd.hpp>
|
65
56
|
#include <boost/optional/detail/optional_config.hpp>
|
66
57
|
#include <boost/optional/detail/optional_factory_support.hpp>
|
67
58
|
#include <boost/optional/detail/optional_aligned_storage.hpp>
|
68
59
|
#include <boost/optional/detail/optional_hash.hpp>
|
60
|
+
#include <boost/optional/detail/optional_utility.hpp>
|
69
61
|
|
70
62
|
namespace boost { namespace optional_detail {
|
71
63
|
|
@@ -74,17 +66,34 @@ struct optional_value_type
|
|
74
66
|
{
|
75
67
|
};
|
76
68
|
|
69
|
+
template <typename U>
|
70
|
+
struct optional_value_type< ::boost::optional<U> >
|
71
|
+
{
|
72
|
+
typedef U type;
|
73
|
+
};
|
74
|
+
|
77
75
|
template <typename T>
|
78
|
-
|
76
|
+
T declval();
|
77
|
+
|
78
|
+
|
79
|
+
// implementing my own result_of so that it works for C++11 (std::result_of)
|
80
|
+
// and in C++20 (std::invoke_result).
|
81
|
+
template <typename F, typename Ref, typename Rslt = decltype(declval<F>()(declval<Ref>()))>
|
82
|
+
struct result_of
|
83
|
+
{
|
84
|
+
typedef Rslt type;
|
85
|
+
};
|
86
|
+
|
87
|
+
template <typename F, typename Ref, typename Rslt = typename optional_value_type<typename result_of<F, Ref>::type>::type>
|
88
|
+
struct result_value_type
|
79
89
|
{
|
80
|
-
typedef
|
90
|
+
typedef Rslt type;
|
81
91
|
};
|
82
92
|
|
93
|
+
// optional<typename optional_detail::optional_value_type<decltype(optional_detail::declval<F>()(optional_detail::declval<reference_type>()))>::type>
|
94
|
+
|
83
95
|
}} // namespace boost::optional_detail
|
84
96
|
|
85
|
-
#ifdef BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL
|
86
|
-
#include <boost/optional/detail/old_optional_implementation.hpp>
|
87
|
-
#else
|
88
97
|
namespace boost {
|
89
98
|
|
90
99
|
namespace optional_ns {
|
@@ -93,17 +102,17 @@ namespace optional_ns {
|
|
93
102
|
struct in_place_init_t
|
94
103
|
{
|
95
104
|
struct init_tag{};
|
96
|
-
explicit in_place_init_t(init_tag){}
|
105
|
+
BOOST_CONSTEXPR explicit in_place_init_t(init_tag){}
|
97
106
|
};
|
98
|
-
|
107
|
+
BOOST_INLINE_CONSTEXPR in_place_init_t in_place_init ((in_place_init_t::init_tag()));
|
99
108
|
|
100
109
|
// a tag for conditional in-place initialization of contained value
|
101
110
|
struct in_place_init_if_t
|
102
111
|
{
|
103
112
|
struct init_tag{};
|
104
|
-
explicit in_place_init_if_t(init_tag){}
|
113
|
+
BOOST_CONSTEXPR explicit in_place_init_if_t(init_tag){}
|
105
114
|
};
|
106
|
-
|
115
|
+
BOOST_INLINE_CONSTEXPR in_place_init_if_t in_place_init_if ((in_place_init_if_t::init_tag()));
|
107
116
|
|
108
117
|
} // namespace optional_ns
|
109
118
|
|
@@ -135,10 +144,8 @@ class optional_base : public optional_tag
|
|
135
144
|
protected:
|
136
145
|
typedef T & reference_type ;
|
137
146
|
typedef T const& reference_const_type ;
|
138
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
139
147
|
typedef T && rval_reference_type ;
|
140
148
|
typedef T && reference_type_of_temporary_wrapper ;
|
141
|
-
#endif
|
142
149
|
typedef T * pointer_type ;
|
143
150
|
typedef T const* pointer_const_type ;
|
144
151
|
typedef T const& argument_type ;
|
@@ -164,16 +171,14 @@ class optional_base : public optional_tag
|
|
164
171
|
construct(val);
|
165
172
|
}
|
166
173
|
|
167
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
168
174
|
// move-construct an optional<T> initialized from an rvalue-ref to 'val'.
|
169
175
|
// Can throw if T::T(T&&) does
|
170
176
|
optional_base ( init_value_tag, rval_reference_type val )
|
171
177
|
:
|
172
178
|
m_initialized(false)
|
173
179
|
{
|
174
|
-
construct(
|
180
|
+
construct( optional_detail::move(val) );
|
175
181
|
}
|
176
|
-
#endif
|
177
182
|
|
178
183
|
// Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional<T>.
|
179
184
|
// Can throw if T::T(T const&) does
|
@@ -185,7 +190,6 @@ class optional_base : public optional_tag
|
|
185
190
|
construct(val);
|
186
191
|
}
|
187
192
|
|
188
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
189
193
|
// Creates an optional<T> initialized with 'move(val)' IFF cond is true, otherwise creates an uninitialized optional<T>.
|
190
194
|
// Can throw if T::T(T &&) does
|
191
195
|
optional_base ( bool cond, rval_reference_type val )
|
@@ -193,9 +197,8 @@ class optional_base : public optional_tag
|
|
193
197
|
m_initialized(false)
|
194
198
|
{
|
195
199
|
if ( cond )
|
196
|
-
construct(
|
200
|
+
construct(optional_detail::move(val));
|
197
201
|
}
|
198
|
-
#endif
|
199
202
|
|
200
203
|
// Creates a deep copy of another optional<T>
|
201
204
|
// Can throw if T::T(T const&) does
|
@@ -207,7 +210,6 @@ class optional_base : public optional_tag
|
|
207
210
|
construct(rhs.get_impl());
|
208
211
|
}
|
209
212
|
|
210
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
211
213
|
// Creates a deep move of another optional<T>
|
212
214
|
// Can throw if T::T(T&&) does
|
213
215
|
optional_base ( optional_base&& rhs )
|
@@ -216,48 +218,30 @@ class optional_base : public optional_tag
|
|
216
218
|
m_initialized(false)
|
217
219
|
{
|
218
220
|
if ( rhs.is_initialized() )
|
219
|
-
construct(
|
221
|
+
construct( optional_detail::move(rhs.get_impl()) );
|
220
222
|
}
|
221
|
-
#endif
|
222
223
|
|
223
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
224
224
|
|
225
225
|
template<class Expr, class PtrExpr>
|
226
226
|
explicit optional_base ( Expr&& expr, PtrExpr const* tag )
|
227
227
|
:
|
228
228
|
m_initialized(false)
|
229
229
|
{
|
230
|
-
construct(
|
231
|
-
}
|
232
|
-
|
233
|
-
#else
|
234
|
-
// This is used for both converting and in-place constructions.
|
235
|
-
// Derived classes use the 'tag' to select the appropriate
|
236
|
-
// implementation (the correct 'construct()' overload)
|
237
|
-
template<class Expr>
|
238
|
-
explicit optional_base ( Expr const& expr, Expr const* tag )
|
239
|
-
:
|
240
|
-
m_initialized(false)
|
241
|
-
{
|
242
|
-
construct(expr,tag);
|
230
|
+
construct(optional_detail::forward<Expr>(expr),tag);
|
243
231
|
}
|
244
232
|
|
245
|
-
#endif
|
246
|
-
|
247
233
|
optional_base& operator= ( optional_base const& rhs )
|
248
234
|
{
|
249
235
|
this->assign(rhs);
|
250
236
|
return *this;
|
251
237
|
}
|
252
238
|
|
253
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
254
239
|
optional_base& operator= ( optional_base && rhs )
|
255
240
|
BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && ::boost::is_nothrow_move_assignable<T>::value)
|
256
241
|
{
|
257
242
|
this->assign(static_cast<optional_base&&>(rhs));
|
258
243
|
return *this;
|
259
244
|
}
|
260
|
-
#endif
|
261
245
|
|
262
246
|
// No-throw (assuming T::~T() doesn't)
|
263
247
|
~optional_base() { destroy() ; }
|
@@ -278,23 +262,21 @@ class optional_base : public optional_tag
|
|
278
262
|
}
|
279
263
|
}
|
280
264
|
|
281
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
282
265
|
// Assigns from another optional<T> (deep-moves the rhs value)
|
283
266
|
void assign ( optional_base&& rhs )
|
284
267
|
{
|
285
268
|
if (is_initialized())
|
286
269
|
{
|
287
270
|
if ( rhs.is_initialized() )
|
288
|
-
assign_value(
|
271
|
+
assign_value( optional_detail::move(rhs.get_impl()) );
|
289
272
|
else destroy();
|
290
273
|
}
|
291
274
|
else
|
292
275
|
{
|
293
276
|
if ( rhs.is_initialized() )
|
294
|
-
construct(
|
277
|
+
construct(optional_detail::move(rhs.get_impl()));
|
295
278
|
}
|
296
279
|
}
|
297
|
-
#endif
|
298
280
|
|
299
281
|
// Assigns from another _convertible_ optional<U> (deep-copies the rhs value)
|
300
282
|
template<class U>
|
@@ -322,7 +304,6 @@ class optional_base : public optional_tag
|
|
322
304
|
}
|
323
305
|
}
|
324
306
|
|
325
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
326
307
|
// move-assigns from another _convertible_ optional<U> (deep-moves from the rhs value)
|
327
308
|
template<class U>
|
328
309
|
void assign ( optional<U>&& rhs )
|
@@ -340,7 +321,6 @@ class optional_base : public optional_tag
|
|
340
321
|
construct(static_cast<ref_type>(rhs.get()));
|
341
322
|
}
|
342
323
|
}
|
343
|
-
#endif
|
344
324
|
|
345
325
|
// Assigns from a T (deep-copies the rhs value)
|
346
326
|
void assign ( argument_type val )
|
@@ -350,15 +330,13 @@ class optional_base : public optional_tag
|
|
350
330
|
else construct(val);
|
351
331
|
}
|
352
332
|
|
353
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
354
333
|
// Assigns from a T (deep-moves the rhs value)
|
355
334
|
void assign ( rval_reference_type val )
|
356
335
|
{
|
357
336
|
if (is_initialized())
|
358
|
-
assign_value(
|
359
|
-
else construct(
|
337
|
+
assign_value( optional_detail::move(val) );
|
338
|
+
else construct( optional_detail::move(val) );
|
360
339
|
}
|
361
|
-
#endif
|
362
340
|
|
363
341
|
// Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED
|
364
342
|
// No-throw (assuming T::~T() doesn't)
|
@@ -366,23 +344,13 @@ class optional_base : public optional_tag
|
|
366
344
|
|
367
345
|
#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
|
368
346
|
|
369
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
370
347
|
template<class Expr, class ExprPtr>
|
371
348
|
void assign_expr ( Expr&& expr, ExprPtr const* tag )
|
372
349
|
{
|
373
350
|
if (is_initialized())
|
374
|
-
assign_expr_to_initialized(
|
375
|
-
else construct(
|
376
|
-
}
|
377
|
-
#else
|
378
|
-
template<class Expr>
|
379
|
-
void assign_expr ( Expr const& expr, Expr const* tag )
|
380
|
-
{
|
381
|
-
if (is_initialized())
|
382
|
-
assign_expr_to_initialized(expr,tag);
|
383
|
-
else construct(expr,tag);
|
351
|
+
assign_expr_to_initialized(optional_detail::forward<Expr>(expr),tag);
|
352
|
+
else construct(optional_detail::forward<Expr>(expr),tag);
|
384
353
|
}
|
385
|
-
#endif
|
386
354
|
|
387
355
|
#endif
|
388
356
|
|
@@ -411,22 +379,19 @@ class optional_base : public optional_tag
|
|
411
379
|
m_initialized = true ;
|
412
380
|
}
|
413
381
|
|
414
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
415
382
|
void construct ( rval_reference_type val )
|
416
383
|
{
|
417
|
-
::new (m_storage.address()) unqualified_value_type(
|
384
|
+
::new (m_storage.address()) unqualified_value_type( optional_detail::move(val) ) ;
|
418
385
|
m_initialized = true ;
|
419
386
|
}
|
420
|
-
#endif
|
421
387
|
|
422
388
|
|
423
|
-
#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
424
389
|
// Constructs in-place
|
425
390
|
// upon exception *this is always uninitialized
|
426
391
|
template<class... Args>
|
427
392
|
void construct ( in_place_init_t, Args&&... args )
|
428
393
|
{
|
429
|
-
::new (m_storage.address()) unqualified_value_type(
|
394
|
+
::new (m_storage.address()) unqualified_value_type( optional_detail::forward<Args>(args)... ) ;
|
430
395
|
m_initialized = true ;
|
431
396
|
}
|
432
397
|
|
@@ -434,7 +399,7 @@ class optional_base : public optional_tag
|
|
434
399
|
void emplace_assign ( Args&&... args )
|
435
400
|
{
|
436
401
|
destroy();
|
437
|
-
construct(in_place_init,
|
402
|
+
construct(in_place_init, optional_detail::forward<Args>(args)...);
|
438
403
|
}
|
439
404
|
|
440
405
|
template<class... Args>
|
@@ -442,7 +407,7 @@ class optional_base : public optional_tag
|
|
442
407
|
:
|
443
408
|
m_initialized(false)
|
444
409
|
{
|
445
|
-
construct(in_place_init,
|
410
|
+
construct(in_place_init, optional_detail::forward<Args>(args)...);
|
446
411
|
}
|
447
412
|
|
448
413
|
template<class... Args>
|
@@ -451,156 +416,11 @@ class optional_base : public optional_tag
|
|
451
416
|
m_initialized(false)
|
452
417
|
{
|
453
418
|
if ( cond )
|
454
|
-
construct(in_place_init,
|
455
|
-
}
|
456
|
-
#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
|
457
|
-
template<class Arg>
|
458
|
-
void construct ( in_place_init_t, Arg&& arg )
|
459
|
-
{
|
460
|
-
::new (m_storage.address()) unqualified_value_type( boost::forward<Arg>(arg) );
|
461
|
-
m_initialized = true ;
|
462
|
-
}
|
463
|
-
|
464
|
-
void construct ( in_place_init_t )
|
465
|
-
{
|
466
|
-
::new (m_storage.address()) unqualified_value_type();
|
467
|
-
m_initialized = true ;
|
468
|
-
}
|
469
|
-
|
470
|
-
template<class Arg>
|
471
|
-
void emplace_assign ( Arg&& arg )
|
472
|
-
{
|
473
|
-
destroy();
|
474
|
-
construct(in_place_init, boost::forward<Arg>(arg)) ;
|
475
|
-
}
|
476
|
-
|
477
|
-
void emplace_assign ()
|
478
|
-
{
|
479
|
-
destroy();
|
480
|
-
construct(in_place_init) ;
|
481
|
-
}
|
482
|
-
|
483
|
-
template<class Arg>
|
484
|
-
explicit optional_base ( in_place_init_t, Arg&& arg )
|
485
|
-
:
|
486
|
-
m_initialized(false)
|
487
|
-
{
|
488
|
-
construct(in_place_init, boost::forward<Arg>(arg));
|
489
|
-
}
|
490
|
-
|
491
|
-
explicit optional_base ( in_place_init_t )
|
492
|
-
:
|
493
|
-
m_initialized(false)
|
494
|
-
{
|
495
|
-
construct(in_place_init);
|
496
|
-
}
|
497
|
-
|
498
|
-
template<class Arg>
|
499
|
-
explicit optional_base ( in_place_init_if_t, bool cond, Arg&& arg )
|
500
|
-
:
|
501
|
-
m_initialized(false)
|
502
|
-
{
|
503
|
-
if ( cond )
|
504
|
-
construct(in_place_init, boost::forward<Arg>(arg));
|
505
|
-
}
|
506
|
-
|
507
|
-
explicit optional_base ( in_place_init_if_t, bool cond )
|
508
|
-
:
|
509
|
-
m_initialized(false)
|
510
|
-
{
|
511
|
-
if ( cond )
|
512
|
-
construct(in_place_init);
|
513
|
-
}
|
514
|
-
|
515
|
-
#else
|
516
|
-
|
517
|
-
template<class Arg>
|
518
|
-
void construct ( in_place_init_t, const Arg& arg )
|
519
|
-
{
|
520
|
-
::new (m_storage.address()) unqualified_value_type( arg );
|
521
|
-
m_initialized = true ;
|
522
|
-
}
|
523
|
-
|
524
|
-
template<class Arg>
|
525
|
-
void construct ( in_place_init_t, Arg& arg )
|
526
|
-
{
|
527
|
-
::new (m_storage.address()) unqualified_value_type( arg );
|
528
|
-
m_initialized = true ;
|
529
|
-
}
|
530
|
-
|
531
|
-
void construct ( in_place_init_t )
|
532
|
-
{
|
533
|
-
::new (m_storage.address()) unqualified_value_type();
|
534
|
-
m_initialized = true ;
|
535
|
-
}
|
536
|
-
|
537
|
-
template<class Arg>
|
538
|
-
void emplace_assign ( const Arg& arg )
|
539
|
-
{
|
540
|
-
destroy();
|
541
|
-
construct(in_place_init, arg);
|
542
|
-
}
|
543
|
-
|
544
|
-
template<class Arg>
|
545
|
-
void emplace_assign ( Arg& arg )
|
546
|
-
{
|
547
|
-
destroy();
|
548
|
-
construct(in_place_init, arg);
|
549
|
-
}
|
550
|
-
|
551
|
-
void emplace_assign ()
|
552
|
-
{
|
553
|
-
destroy();
|
554
|
-
construct(in_place_init);
|
555
|
-
}
|
556
|
-
|
557
|
-
template<class Arg>
|
558
|
-
explicit optional_base ( in_place_init_t, const Arg& arg )
|
559
|
-
: m_initialized(false)
|
560
|
-
{
|
561
|
-
construct(in_place_init, arg);
|
562
|
-
}
|
563
|
-
|
564
|
-
template<class Arg>
|
565
|
-
explicit optional_base ( in_place_init_t, Arg& arg )
|
566
|
-
: m_initialized(false)
|
567
|
-
{
|
568
|
-
construct(in_place_init, arg);
|
569
|
-
}
|
570
|
-
|
571
|
-
explicit optional_base ( in_place_init_t )
|
572
|
-
: m_initialized(false)
|
573
|
-
{
|
574
|
-
construct(in_place_init);
|
575
|
-
}
|
576
|
-
|
577
|
-
template<class Arg>
|
578
|
-
explicit optional_base ( in_place_init_if_t, bool cond, const Arg& arg )
|
579
|
-
: m_initialized(false)
|
580
|
-
{
|
581
|
-
if ( cond )
|
582
|
-
construct(in_place_init, arg);
|
583
|
-
}
|
584
|
-
|
585
|
-
template<class Arg>
|
586
|
-
explicit optional_base ( in_place_init_if_t, bool cond, Arg& arg )
|
587
|
-
: m_initialized(false)
|
588
|
-
{
|
589
|
-
if ( cond )
|
590
|
-
construct(in_place_init, arg);
|
591
|
-
}
|
592
|
-
|
593
|
-
explicit optional_base ( in_place_init_if_t, bool cond )
|
594
|
-
: m_initialized(false)
|
595
|
-
{
|
596
|
-
if ( cond )
|
597
|
-
construct(in_place_init);
|
419
|
+
construct(in_place_init, optional_detail::forward<Args>(args)...);
|
598
420
|
}
|
599
|
-
#endif
|
600
421
|
|
601
422
|
#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
|
602
423
|
|
603
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
604
424
|
// Constructs in-place using the given factory
|
605
425
|
template<class Expr>
|
606
426
|
void construct ( Expr&& factory, in_place_factory_base const* )
|
@@ -632,42 +452,8 @@ class optional_base : public optional_tag
|
|
632
452
|
construct(factory,tag);
|
633
453
|
}
|
634
454
|
|
635
|
-
#else
|
636
|
-
// Constructs in-place using the given factory
|
637
|
-
template<class Expr>
|
638
|
-
void construct ( Expr const& factory, in_place_factory_base const* )
|
639
|
-
{
|
640
|
-
boost_optional_detail::construct<value_type>(factory, m_storage.address());
|
641
|
-
m_initialized = true ;
|
642
|
-
}
|
643
|
-
|
644
|
-
// Constructs in-place using the given typed factory
|
645
|
-
template<class Expr>
|
646
|
-
void construct ( Expr const& factory, typed_in_place_factory_base const* )
|
647
|
-
{
|
648
|
-
factory.apply(m_storage.address()) ;
|
649
|
-
m_initialized = true ;
|
650
|
-
}
|
651
|
-
|
652
|
-
template<class Expr>
|
653
|
-
void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag )
|
654
|
-
{
|
655
|
-
destroy();
|
656
|
-
construct(factory,tag);
|
657
|
-
}
|
658
|
-
|
659
|
-
// Constructs in-place using the given typed factory
|
660
|
-
template<class Expr>
|
661
|
-
void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag )
|
662
|
-
{
|
663
|
-
destroy();
|
664
|
-
construct(factory,tag);
|
665
|
-
}
|
666
455
|
#endif
|
667
456
|
|
668
|
-
#endif
|
669
|
-
|
670
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
671
457
|
// Constructs using any expression implicitly convertible to the single argument
|
672
458
|
// of a one-argument T constructor.
|
673
459
|
// Converting constructions of optional<T> from optional<U> uses this function with
|
@@ -675,7 +461,7 @@ class optional_base : public optional_tag
|
|
675
461
|
template<class Expr>
|
676
462
|
void construct ( Expr&& expr, void const* )
|
677
463
|
{
|
678
|
-
new (m_storage.address()) unqualified_value_type(
|
464
|
+
new (m_storage.address()) unqualified_value_type(optional_detail::forward<Expr>(expr)) ;
|
679
465
|
m_initialized = true ;
|
680
466
|
}
|
681
467
|
|
@@ -686,31 +472,8 @@ class optional_base : public optional_tag
|
|
686
472
|
template<class Expr>
|
687
473
|
void assign_expr_to_initialized ( Expr&& expr, void const* )
|
688
474
|
{
|
689
|
-
assign_value(
|
475
|
+
assign_value( optional_detail::forward<Expr>(expr) );
|
690
476
|
}
|
691
|
-
#else
|
692
|
-
// Constructs using any expression implicitly convertible to the single argument
|
693
|
-
// of a one-argument T constructor.
|
694
|
-
// Converting constructions of optional<T> from optional<U> uses this function with
|
695
|
-
// 'Expr' being of type 'U' and relying on a converting constructor of T from U.
|
696
|
-
template<class Expr>
|
697
|
-
void construct ( Expr const& expr, void const* )
|
698
|
-
{
|
699
|
-
new (m_storage.address()) unqualified_value_type(expr) ;
|
700
|
-
m_initialized = true ;
|
701
|
-
}
|
702
|
-
|
703
|
-
// Assigns using a form any expression implicitly convertible to the single argument
|
704
|
-
// of a T's assignment operator.
|
705
|
-
// Converting assignments of optional<T> from optional<U> uses this function with
|
706
|
-
// 'Expr' being of type 'U' and relying on a converting assignment of T from U.
|
707
|
-
template<class Expr>
|
708
|
-
void assign_expr_to_initialized ( Expr const& expr, void const* )
|
709
|
-
{
|
710
|
-
assign_value(expr);
|
711
|
-
}
|
712
|
-
|
713
|
-
#endif
|
714
477
|
|
715
478
|
#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
|
716
479
|
// BCB5.64 (and probably lower versions) workaround.
|
@@ -725,7 +488,7 @@ class optional_base : public optional_tag
|
|
725
488
|
// For VC<=70 compilers this workaround doesn't work because the compiler issues and error
|
726
489
|
// instead of choosing the wrong overload
|
727
490
|
//
|
728
|
-
|
491
|
+
|
729
492
|
// Notice that 'Expr' will be optional<T> or optional<U> (but not optional_base<..>)
|
730
493
|
template<class Expr>
|
731
494
|
void construct ( Expr&& expr, optional_tag const* )
|
@@ -734,30 +497,14 @@ class optional_base : public optional_tag
|
|
734
497
|
{
|
735
498
|
// An exception can be thrown here.
|
736
499
|
// It it happens, THIS will be left uninitialized.
|
737
|
-
new (m_storage.address()) unqualified_value_type(
|
738
|
-
m_initialized = true ;
|
739
|
-
}
|
740
|
-
}
|
741
|
-
#else
|
742
|
-
// Notice that 'Expr' will be optional<T> or optional<U> (but not optional_base<..>)
|
743
|
-
template<class Expr>
|
744
|
-
void construct ( Expr const& expr, optional_tag const* )
|
745
|
-
{
|
746
|
-
if ( expr.is_initialized() )
|
747
|
-
{
|
748
|
-
// An exception can be thrown here.
|
749
|
-
// It it happens, THIS will be left uninitialized.
|
750
|
-
new (m_storage.address()) unqualified_value_type(expr.get()) ;
|
500
|
+
new (m_storage.address()) unqualified_value_type(optional_detail::move(expr.get())) ;
|
751
501
|
m_initialized = true ;
|
752
502
|
}
|
753
503
|
}
|
754
|
-
#endif
|
755
504
|
#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
|
756
505
|
|
757
506
|
void assign_value ( argument_type val ) { get_impl() = val; }
|
758
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
759
507
|
void assign_value ( rval_reference_type val ) { get_impl() = static_cast<rval_reference_type>(val); }
|
760
|
-
#endif
|
761
508
|
|
762
509
|
void destroy()
|
763
510
|
{
|
@@ -832,7 +579,6 @@ struct is_optional_constructible : boost::true_type
|
|
832
579
|
#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800)
|
833
580
|
// for is_assignable
|
834
581
|
|
835
|
-
#if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES)
|
836
582
|
// On some initial rvalue reference implementations GCC does it in a strange way,
|
837
583
|
// preferring perfect-forwarding constructor to implicit copy constructor.
|
838
584
|
|
@@ -843,15 +589,6 @@ struct is_opt_assignable
|
|
843
589
|
|
844
590
|
#else
|
845
591
|
|
846
|
-
template <typename T, typename U>
|
847
|
-
struct is_opt_assignable
|
848
|
-
: boost::conjunction<boost::is_convertible<U, T>, boost::is_assignable<T&, U> >
|
849
|
-
{};
|
850
|
-
|
851
|
-
#endif
|
852
|
-
|
853
|
-
#else
|
854
|
-
|
855
592
|
template <typename T, typename U>
|
856
593
|
struct is_opt_assignable : boost::is_convertible<U, T>
|
857
594
|
{};
|
@@ -918,10 +655,8 @@ class optional
|
|
918
655
|
typedef BOOST_DEDUCED_TYPENAME base::value_type value_type ;
|
919
656
|
typedef BOOST_DEDUCED_TYPENAME base::reference_type reference_type ;
|
920
657
|
typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ;
|
921
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
922
658
|
typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type rval_reference_type ;
|
923
659
|
typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ;
|
924
|
-
#endif
|
925
660
|
typedef BOOST_DEDUCED_TYPENAME base::pointer_type pointer_type ;
|
926
661
|
typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type pointer_const_type ;
|
927
662
|
typedef BOOST_DEDUCED_TYPENAME base::argument_type argument_type ;
|
@@ -938,23 +673,19 @@ class optional
|
|
938
673
|
// Can throw if T::T(T const&) does
|
939
674
|
optional ( argument_type val ) : base(optional_detail::init_value_tag(), val) {}
|
940
675
|
|
941
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
942
676
|
// Creates an optional<T> initialized with 'move(val)'.
|
943
677
|
// Can throw if T::T(T &&) does
|
944
|
-
optional ( rval_reference_type val ) : base(optional_detail::init_value_tag(),
|
678
|
+
optional ( rval_reference_type val ) : base(optional_detail::init_value_tag(), optional_detail::forward<T>(val))
|
945
679
|
{}
|
946
|
-
#endif
|
947
680
|
|
948
681
|
// Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional.
|
949
682
|
// Can throw if T::T(T const&) does
|
950
683
|
optional ( bool cond, argument_type val ) : base(cond,val) {}
|
951
684
|
|
952
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
953
685
|
/// Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional.
|
954
686
|
// Can throw if T::T(T &&) does
|
955
|
-
optional ( bool cond, rval_reference_type val ) : base( cond,
|
687
|
+
optional ( bool cond, rval_reference_type val ) : base( cond, optional_detail::forward<T>(val) )
|
956
688
|
{}
|
957
|
-
#endif
|
958
689
|
|
959
690
|
// NOTE: MSVC needs templated versions first
|
960
691
|
|
@@ -974,7 +705,6 @@ class optional
|
|
974
705
|
this->construct(rhs.get());
|
975
706
|
}
|
976
707
|
|
977
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
978
708
|
// Creates a deep move of another convertible optional<U>
|
979
709
|
// Requires a valid conversion from U to T.
|
980
710
|
// Can throw if T::T(U&&) does
|
@@ -988,9 +718,8 @@ class optional
|
|
988
718
|
base()
|
989
719
|
{
|
990
720
|
if ( rhs.is_initialized() )
|
991
|
-
this->construct(
|
721
|
+
this->construct( optional_detail::move(rhs.get()) );
|
992
722
|
}
|
993
|
-
#endif
|
994
723
|
|
995
724
|
#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
|
996
725
|
// Creates an optional<T> with an expression which can be either
|
@@ -1002,20 +731,15 @@ class optional
|
|
1002
731
|
// even though explicit overloads are present for these.
|
1003
732
|
// Depending on the above some T ctor is called.
|
1004
733
|
// Can throw if the resolved T ctor throws.
|
1005
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1006
734
|
|
1007
735
|
|
1008
736
|
template<class Expr>
|
1009
737
|
explicit optional ( Expr&& expr,
|
1010
738
|
BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_val_init_candidate<T, Expr>, bool>::type = true
|
1011
739
|
)
|
1012
|
-
: base(
|
740
|
+
: base(optional_detail::forward<Expr>(expr),boost::addressof(expr))
|
1013
741
|
{}
|
1014
742
|
|
1015
|
-
#else
|
1016
|
-
template<class Expr>
|
1017
|
-
explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {}
|
1018
|
-
#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1019
743
|
#endif // !defined BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
|
1020
744
|
|
1021
745
|
// Creates a deep copy of another optional<T>
|
@@ -1026,20 +750,17 @@ class optional
|
|
1026
750
|
optional ( optional const& rhs ) : base( static_cast<base const&>(rhs) ) {}
|
1027
751
|
#endif
|
1028
752
|
|
1029
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1030
753
|
// Creates a deep move of another optional<T>
|
1031
754
|
// Can throw if T::T(T&&) does
|
1032
|
-
|
1033
755
|
#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS
|
1034
756
|
optional ( optional && ) = default;
|
1035
757
|
#else
|
1036
758
|
optional ( optional && rhs )
|
1037
759
|
BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value)
|
1038
|
-
: base(
|
760
|
+
: base( optional_detail::move(rhs) )
|
1039
761
|
{}
|
1040
762
|
#endif
|
1041
763
|
|
1042
|
-
#endif
|
1043
764
|
|
1044
765
|
#if BOOST_WORKAROUND(_MSC_VER, <= 1600)
|
1045
766
|
// On old MSVC compilers the implicitly declared dtor is not called
|
@@ -1050,24 +771,15 @@ class optional
|
|
1050
771
|
#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
|
1051
772
|
// Assigns from an expression. See corresponding constructor.
|
1052
773
|
// Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED
|
1053
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1054
774
|
|
1055
775
|
template<class Expr>
|
1056
776
|
BOOST_DEDUCED_TYPENAME boost::enable_if<optional_detail::is_optional_val_assign_candidate<T, Expr>, optional&>::type
|
1057
777
|
operator= ( Expr&& expr )
|
1058
778
|
{
|
1059
|
-
this->assign_expr(
|
779
|
+
this->assign_expr(optional_detail::forward<Expr>(expr),boost::addressof(expr));
|
1060
780
|
return *this ;
|
1061
781
|
}
|
1062
782
|
|
1063
|
-
#else
|
1064
|
-
template<class Expr>
|
1065
|
-
optional& operator= ( Expr const& expr )
|
1066
|
-
{
|
1067
|
-
this->assign_expr(expr,boost::addressof(expr));
|
1068
|
-
return *this ;
|
1069
|
-
}
|
1070
|
-
#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1071
783
|
#endif // !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
|
1072
784
|
|
1073
785
|
// Copy-assigns from another convertible optional<U> (converts && deep-copies the rhs value)
|
@@ -1080,17 +792,15 @@ class optional
|
|
1080
792
|
return *this ;
|
1081
793
|
}
|
1082
794
|
|
1083
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1084
795
|
// Move-assigns from another convertible optional<U> (converts && deep-moves the rhs value)
|
1085
796
|
// Requires a valid conversion from U to T.
|
1086
797
|
// Basic Guarantee: If T::T( U && ) throws, this is left UNINITIALIZED
|
1087
798
|
template<class U>
|
1088
799
|
optional& operator= ( optional<U> && rhs )
|
1089
800
|
{
|
1090
|
-
this->assign(
|
801
|
+
this->assign(optional_detail::move(rhs));
|
1091
802
|
return *this ;
|
1092
803
|
}
|
1093
|
-
#endif
|
1094
804
|
|
1095
805
|
// Assigns from another optional<T> (deep-copies the rhs value)
|
1096
806
|
// Basic Guarantee: If T::T( T const& ) throws, this is left UNINITIALIZED
|
@@ -1105,7 +815,6 @@ class optional
|
|
1105
815
|
}
|
1106
816
|
#endif
|
1107
817
|
|
1108
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1109
818
|
// Assigns from another optional<T> (deep-moves the rhs value)
|
1110
819
|
#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS
|
1111
820
|
optional& operator= ( optional && ) = default;
|
@@ -1118,8 +827,6 @@ class optional
|
|
1118
827
|
}
|
1119
828
|
#endif
|
1120
829
|
|
1121
|
-
#endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1122
|
-
|
1123
830
|
#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
1124
831
|
|
1125
832
|
// Assigns from a T (deep-moves/copies the rhs value)
|
@@ -1127,7 +834,7 @@ class optional
|
|
1127
834
|
BOOST_DEDUCED_TYPENAME boost::enable_if<boost::is_same<T, BOOST_DEDUCED_TYPENAME boost::decay<T_>::type>, optional&>::type
|
1128
835
|
operator= ( T_&& val )
|
1129
836
|
{
|
1130
|
-
this->assign(
|
837
|
+
this->assign( optional_detail::forward<T_>(val) ) ;
|
1131
838
|
return *this ;
|
1132
839
|
}
|
1133
840
|
|
@@ -1141,14 +848,12 @@ class optional
|
|
1141
848
|
return *this ;
|
1142
849
|
}
|
1143
850
|
|
1144
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1145
851
|
// Assigns from a T (deep-moves the rhs value)
|
1146
852
|
optional& operator= ( rval_reference_type val )
|
1147
853
|
{
|
1148
|
-
this->assign(
|
854
|
+
this->assign( optional_detail::move(val) ) ;
|
1149
855
|
return *this ;
|
1150
856
|
}
|
1151
|
-
#endif
|
1152
857
|
|
1153
858
|
#endif // BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
1154
859
|
|
@@ -1161,101 +866,24 @@ class optional
|
|
1161
866
|
return *this ;
|
1162
867
|
}
|
1163
868
|
|
1164
|
-
#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
1165
869
|
// Constructs in-place
|
1166
870
|
// upon exception *this is always uninitialized
|
1167
871
|
template<class... Args>
|
1168
872
|
void emplace ( Args&&... args )
|
1169
873
|
{
|
1170
|
-
this->emplace_assign(
|
874
|
+
this->emplace_assign( optional_detail::forward<Args>(args)... );
|
1171
875
|
}
|
1172
876
|
|
1173
877
|
template<class... Args>
|
1174
878
|
explicit optional ( in_place_init_t, Args&&... args )
|
1175
|
-
: base( in_place_init,
|
879
|
+
: base( in_place_init, optional_detail::forward<Args>(args)... )
|
1176
880
|
{}
|
1177
881
|
|
1178
882
|
template<class... Args>
|
1179
883
|
explicit optional ( in_place_init_if_t, bool cond, Args&&... args )
|
1180
|
-
: base( in_place_init_if, cond,
|
1181
|
-
{}
|
1182
|
-
|
1183
|
-
#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
|
1184
|
-
template<class Arg>
|
1185
|
-
void emplace ( Arg&& arg )
|
1186
|
-
{
|
1187
|
-
this->emplace_assign( boost::forward<Arg>(arg) );
|
1188
|
-
}
|
1189
|
-
|
1190
|
-
void emplace ()
|
1191
|
-
{
|
1192
|
-
this->emplace_assign();
|
1193
|
-
}
|
1194
|
-
|
1195
|
-
template<class Args>
|
1196
|
-
explicit optional ( in_place_init_t, Args&& args )
|
1197
|
-
: base( in_place_init, boost::forward<Args>(args) )
|
884
|
+
: base( in_place_init_if, cond, optional_detail::forward<Args>(args)... )
|
1198
885
|
{}
|
1199
886
|
|
1200
|
-
explicit optional ( in_place_init_t )
|
1201
|
-
: base( in_place_init )
|
1202
|
-
{}
|
1203
|
-
|
1204
|
-
template<class Args>
|
1205
|
-
explicit optional ( in_place_init_if_t, bool cond, Args&& args )
|
1206
|
-
: base( in_place_init_if, cond, boost::forward<Args>(args) )
|
1207
|
-
{}
|
1208
|
-
|
1209
|
-
explicit optional ( in_place_init_if_t, bool cond )
|
1210
|
-
: base( in_place_init_if, cond )
|
1211
|
-
{}
|
1212
|
-
#else
|
1213
|
-
template<class Arg>
|
1214
|
-
void emplace ( const Arg& arg )
|
1215
|
-
{
|
1216
|
-
this->emplace_assign( arg );
|
1217
|
-
}
|
1218
|
-
|
1219
|
-
template<class Arg>
|
1220
|
-
void emplace ( Arg& arg )
|
1221
|
-
{
|
1222
|
-
this->emplace_assign( arg );
|
1223
|
-
}
|
1224
|
-
|
1225
|
-
void emplace ()
|
1226
|
-
{
|
1227
|
-
this->emplace_assign();
|
1228
|
-
}
|
1229
|
-
|
1230
|
-
template<class Arg>
|
1231
|
-
explicit optional ( in_place_init_t, const Arg& arg )
|
1232
|
-
: base( in_place_init, arg )
|
1233
|
-
{}
|
1234
|
-
|
1235
|
-
template<class Arg>
|
1236
|
-
explicit optional ( in_place_init_t, Arg& arg )
|
1237
|
-
: base( in_place_init, arg )
|
1238
|
-
{}
|
1239
|
-
|
1240
|
-
explicit optional ( in_place_init_t )
|
1241
|
-
: base( in_place_init )
|
1242
|
-
{}
|
1243
|
-
|
1244
|
-
template<class Arg>
|
1245
|
-
explicit optional ( in_place_init_if_t, bool cond, const Arg& arg )
|
1246
|
-
: base( in_place_init_if, cond, arg )
|
1247
|
-
{}
|
1248
|
-
|
1249
|
-
template<class Arg>
|
1250
|
-
explicit optional ( in_place_init_if_t, bool cond, Arg& arg )
|
1251
|
-
: base( in_place_init_if, cond, arg )
|
1252
|
-
{}
|
1253
|
-
|
1254
|
-
explicit optional ( in_place_init_if_t, bool cond )
|
1255
|
-
: base( in_place_init_if, cond )
|
1256
|
-
{}
|
1257
|
-
#endif
|
1258
|
-
|
1259
887
|
void swap( optional & arg )
|
1260
888
|
BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && ::boost::is_nothrow_move_assignable<T>::value)
|
1261
889
|
{
|
@@ -1283,42 +911,14 @@ class optional
|
|
1283
911
|
// Returns a reference to the value if this is initialized, otherwise,
|
1284
912
|
// the behaviour is UNDEFINED
|
1285
913
|
// No-throw
|
1286
|
-
|
1287
|
-
|
1288
|
-
reference_type operator *() & { return this->get() ; }
|
1289
|
-
reference_type_of_temporary_wrapper operator *() && { return boost::move(this->get()) ; }
|
1290
|
-
#else
|
1291
|
-
reference_const_type operator *() const { return this->get() ; }
|
1292
|
-
reference_type operator *() { return this->get() ; }
|
1293
|
-
#endif // !defined BOOST_NO_CXX11_REF_QUALIFIERS
|
914
|
+
reference_const_type operator *() BOOST_OPTIONAL_CONST_REF_QUAL { return this->get() ; }
|
915
|
+
reference_type operator *() BOOST_OPTIONAL_REF_QUAL { return this->get() ; }
|
1294
916
|
|
1295
|
-
#
|
1296
|
-
|
1297
|
-
|
1298
|
-
if (this->is_initialized())
|
1299
|
-
return this->get() ;
|
1300
|
-
else
|
1301
|
-
throw_exception(bad_optional_access());
|
1302
|
-
}
|
1303
|
-
|
1304
|
-
reference_type value() &
|
1305
|
-
{
|
1306
|
-
if (this->is_initialized())
|
1307
|
-
return this->get() ;
|
1308
|
-
else
|
1309
|
-
throw_exception(bad_optional_access());
|
1310
|
-
}
|
1311
|
-
|
1312
|
-
reference_type_of_temporary_wrapper value() &&
|
1313
|
-
{
|
1314
|
-
if (this->is_initialized())
|
1315
|
-
return boost::move(this->get()) ;
|
1316
|
-
else
|
1317
|
-
throw_exception(bad_optional_access());
|
1318
|
-
}
|
917
|
+
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
918
|
+
reference_type_of_temporary_wrapper operator *() && { return optional_detail::move(this->get()) ; }
|
919
|
+
#endif
|
1319
920
|
|
1320
|
-
|
1321
|
-
reference_const_type value() const
|
921
|
+
reference_const_type value() BOOST_OPTIONAL_CONST_REF_QUAL
|
1322
922
|
{
|
1323
923
|
if (this->is_initialized())
|
1324
924
|
return this->get() ;
|
@@ -1326,112 +926,64 @@ class optional
|
|
1326
926
|
throw_exception(bad_optional_access());
|
1327
927
|
}
|
1328
928
|
|
1329
|
-
reference_type value()
|
929
|
+
reference_type value() BOOST_OPTIONAL_REF_QUAL
|
1330
930
|
{
|
1331
931
|
if (this->is_initialized())
|
1332
932
|
return this->get() ;
|
1333
933
|
else
|
1334
934
|
throw_exception(bad_optional_access());
|
1335
935
|
}
|
1336
|
-
#endif
|
1337
|
-
|
1338
936
|
|
1339
|
-
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
1340
937
|
template <class U>
|
1341
|
-
value_type value_or ( U&& v )
|
938
|
+
value_type value_or ( U&& v ) BOOST_OPTIONAL_CONST_REF_QUAL
|
1342
939
|
{
|
1343
940
|
if (this->is_initialized())
|
1344
941
|
return get();
|
1345
942
|
else
|
1346
|
-
return
|
943
|
+
return optional_detail::forward<U>(v);
|
1347
944
|
}
|
1348
945
|
|
1349
|
-
template <
|
1350
|
-
value_type
|
1351
|
-
{
|
1352
|
-
if (this->is_initialized())
|
1353
|
-
return boost::move(get());
|
1354
|
-
else
|
1355
|
-
return boost::forward<U>(v);
|
1356
|
-
}
|
1357
|
-
#elif !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1358
|
-
template <class U>
|
1359
|
-
value_type value_or ( U&& v ) const
|
1360
|
-
{
|
1361
|
-
if (this->is_initialized())
|
1362
|
-
return get();
|
1363
|
-
else
|
1364
|
-
return boost::forward<U>(v);
|
1365
|
-
}
|
1366
|
-
#else
|
1367
|
-
template <class U>
|
1368
|
-
value_type value_or ( U const& v ) const
|
946
|
+
template <typename F>
|
947
|
+
value_type value_or_eval ( F f ) BOOST_OPTIONAL_CONST_REF_QUAL
|
1369
948
|
{
|
1370
949
|
if (this->is_initialized())
|
1371
950
|
return get();
|
1372
951
|
else
|
1373
|
-
return
|
952
|
+
return f();
|
1374
953
|
}
|
1375
954
|
|
1376
|
-
|
1377
|
-
|
955
|
+
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
956
|
+
reference_type_of_temporary_wrapper value() &&
|
1378
957
|
{
|
1379
958
|
if (this->is_initialized())
|
1380
|
-
return get();
|
959
|
+
return optional_detail::move(this->get()) ;
|
1381
960
|
else
|
1382
|
-
|
961
|
+
throw_exception(bad_optional_access());
|
1383
962
|
}
|
1384
|
-
#endif
|
1385
|
-
|
1386
963
|
|
1387
|
-
|
1388
|
-
|
1389
|
-
value_type value_or_eval ( F f ) const&
|
964
|
+
template <class U>
|
965
|
+
value_type value_or ( U&& v ) &&
|
1390
966
|
{
|
1391
967
|
if (this->is_initialized())
|
1392
|
-
return get();
|
968
|
+
return optional_detail::move(get());
|
1393
969
|
else
|
1394
|
-
return
|
970
|
+
return optional_detail::forward<U>(v);
|
1395
971
|
}
|
1396
972
|
|
1397
973
|
template <typename F>
|
1398
974
|
value_type value_or_eval ( F f ) &&
|
1399
975
|
{
|
1400
976
|
if (this->is_initialized())
|
1401
|
-
return
|
977
|
+
return optional_detail::move(get());
|
1402
978
|
else
|
1403
979
|
return f();
|
1404
980
|
}
|
981
|
+
#endif
|
1405
982
|
|
1406
|
-
|
1407
|
-
optional<typename boost::result_of<F(reference_type)>::type> map(F f) &
|
1408
|
-
{
|
1409
|
-
if (this->has_value())
|
1410
|
-
return f(get());
|
1411
|
-
else
|
1412
|
-
return none;
|
1413
|
-
}
|
1414
|
-
|
1415
|
-
template <typename F>
|
1416
|
-
optional<typename boost::result_of<F(reference_const_type)>::type> map(F f) const&
|
1417
|
-
{
|
1418
|
-
if (this->has_value())
|
1419
|
-
return f(get());
|
1420
|
-
else
|
1421
|
-
return none;
|
1422
|
-
}
|
1423
|
-
|
1424
|
-
template <typename F>
|
1425
|
-
optional<typename boost::result_of<F(reference_type_of_temporary_wrapper)>::type> map(F f) &&
|
1426
|
-
{
|
1427
|
-
if (this->has_value())
|
1428
|
-
return f(boost::move(this->get()));
|
1429
|
-
else
|
1430
|
-
return none;
|
1431
|
-
}
|
983
|
+
// Monadic interface
|
1432
984
|
|
1433
985
|
template <typename F>
|
1434
|
-
optional<typename optional_detail::
|
986
|
+
optional<typename optional_detail::result_of<F, reference_type>::type> map(F f) BOOST_OPTIONAL_REF_QUAL
|
1435
987
|
{
|
1436
988
|
if (this->has_value())
|
1437
989
|
return f(get());
|
@@ -1440,7 +992,7 @@ class optional
|
|
1440
992
|
}
|
1441
993
|
|
1442
994
|
template <typename F>
|
1443
|
-
optional<typename optional_detail::
|
995
|
+
optional<typename optional_detail::result_of<F, reference_const_type>::type> map(F f) BOOST_OPTIONAL_CONST_REF_QUAL
|
1444
996
|
{
|
1445
997
|
if (this->has_value())
|
1446
998
|
return f(get());
|
@@ -1448,36 +1000,20 @@ class optional
|
|
1448
1000
|
return none;
|
1449
1001
|
}
|
1450
1002
|
|
1003
|
+
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
1451
1004
|
template <typename F>
|
1452
|
-
optional<typename optional_detail::
|
1453
|
-
{
|
1454
|
-
if (this->has_value())
|
1455
|
-
return f(boost::move(get()));
|
1456
|
-
else
|
1457
|
-
return none;
|
1458
|
-
}
|
1459
|
-
|
1460
|
-
#else
|
1461
|
-
template <typename F>
|
1462
|
-
value_type value_or_eval ( F f ) const
|
1463
|
-
{
|
1464
|
-
if (this->is_initialized())
|
1465
|
-
return get();
|
1466
|
-
else
|
1467
|
-
return f();
|
1468
|
-
}
|
1469
|
-
|
1470
|
-
template <typename F>
|
1471
|
-
optional<typename boost::result_of<F(reference_type)>::type> map(F f)
|
1005
|
+
optional<typename optional_detail::result_of<F, reference_type_of_temporary_wrapper>::type> map(F f) &&
|
1472
1006
|
{
|
1473
1007
|
if (this->has_value())
|
1474
|
-
return f(get());
|
1008
|
+
return f(optional_detail::move(this->get()));
|
1475
1009
|
else
|
1476
1010
|
return none;
|
1477
1011
|
}
|
1012
|
+
#endif
|
1478
1013
|
|
1479
1014
|
template <typename F>
|
1480
|
-
optional<typename
|
1015
|
+
optional<typename optional_detail::result_value_type<F, reference_type>::type>
|
1016
|
+
flat_map(F f) BOOST_OPTIONAL_REF_QUAL
|
1481
1017
|
{
|
1482
1018
|
if (this->has_value())
|
1483
1019
|
return f(get());
|
@@ -1486,7 +1022,8 @@ class optional
|
|
1486
1022
|
}
|
1487
1023
|
|
1488
1024
|
template <typename F>
|
1489
|
-
optional<typename optional_detail::
|
1025
|
+
optional<typename optional_detail::result_value_type<F, reference_const_type>::type>
|
1026
|
+
flat_map(F f) BOOST_OPTIONAL_CONST_REF_QUAL
|
1490
1027
|
{
|
1491
1028
|
if (this->has_value())
|
1492
1029
|
return f(get());
|
@@ -1494,37 +1031,29 @@ class optional
|
|
1494
1031
|
return none;
|
1495
1032
|
}
|
1496
1033
|
|
1034
|
+
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
1497
1035
|
template <typename F>
|
1498
|
-
optional<typename optional_detail::
|
1036
|
+
optional<typename optional_detail::result_value_type<F, reference_type_of_temporary_wrapper>::type>
|
1037
|
+
flat_map(F f) &&
|
1499
1038
|
{
|
1500
1039
|
if (this->has_value())
|
1501
|
-
return f(get());
|
1040
|
+
return f(optional_detail::move(get()));
|
1502
1041
|
else
|
1503
1042
|
return none;
|
1504
1043
|
}
|
1505
|
-
|
1506
1044
|
#endif
|
1507
1045
|
|
1508
1046
|
bool has_value() const BOOST_NOEXCEPT { return this->is_initialized() ; }
|
1509
1047
|
|
1510
|
-
|
1511
|
-
|
1512
|
-
BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
|
1048
|
+
explicit operator bool() const BOOST_NOEXCEPT { return this->has_value() ; }
|
1513
1049
|
} ;
|
1514
1050
|
|
1515
|
-
} // namespace boost
|
1516
|
-
|
1517
|
-
#endif // BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL
|
1518
1051
|
|
1519
|
-
namespace boost {
|
1520
|
-
|
1521
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1522
1052
|
template<class T>
|
1523
1053
|
class optional<T&&>
|
1524
1054
|
{
|
1525
|
-
|
1055
|
+
static_assert(sizeof(T) == 0, "Optional rvalue references are illegal.");
|
1526
1056
|
} ;
|
1527
|
-
#endif
|
1528
1057
|
|
1529
1058
|
} // namespace boost
|
1530
1059
|
|
@@ -1534,13 +1063,12 @@ class optional<T&&>
|
|
1534
1063
|
|
1535
1064
|
namespace boost {
|
1536
1065
|
|
1537
|
-
#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1538
1066
|
|
1539
1067
|
template<class T>
|
1540
1068
|
inline
|
1541
1069
|
optional<BOOST_DEDUCED_TYPENAME boost::decay<T>::type> make_optional ( T && v )
|
1542
1070
|
{
|
1543
|
-
return optional<BOOST_DEDUCED_TYPENAME boost::decay<T>::type>(
|
1071
|
+
return optional<BOOST_DEDUCED_TYPENAME boost::decay<T>::type>(optional_detail::forward<T>(v));
|
1544
1072
|
}
|
1545
1073
|
|
1546
1074
|
// Returns optional<T>(cond,v)
|
@@ -1548,28 +1076,9 @@ template<class T>
|
|
1548
1076
|
inline
|
1549
1077
|
optional<BOOST_DEDUCED_TYPENAME boost::decay<T>::type> make_optional ( bool cond, T && v )
|
1550
1078
|
{
|
1551
|
-
return optional<BOOST_DEDUCED_TYPENAME boost::decay<T>::type>(cond,
|
1552
|
-
}
|
1553
|
-
|
1554
|
-
#else
|
1555
|
-
|
1556
|
-
// Returns optional<T>(v)
|
1557
|
-
template<class T>
|
1558
|
-
inline
|
1559
|
-
optional<T> make_optional ( T const& v )
|
1560
|
-
{
|
1561
|
-
return optional<T>(v);
|
1562
|
-
}
|
1563
|
-
|
1564
|
-
// Returns optional<T>(cond,v)
|
1565
|
-
template<class T>
|
1566
|
-
inline
|
1567
|
-
optional<T> make_optional ( bool cond, T const& v )
|
1568
|
-
{
|
1569
|
-
return optional<T>(cond,v);
|
1079
|
+
return optional<BOOST_DEDUCED_TYPENAME boost::decay<T>::type>(cond,optional_detail::forward<T>(v));
|
1570
1080
|
}
|
1571
1081
|
|
1572
|
-
#endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
|
1573
1082
|
|
1574
1083
|
// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED.
|
1575
1084
|
// No-throw
|
@@ -1653,7 +1162,7 @@ template<class CharType, class CharTrait>
|
|
1653
1162
|
std::basic_ostream<CharType, CharTrait>&
|
1654
1163
|
operator<<(std::basic_ostream<CharType, CharTrait>& os, optional_detail::optional_tag const&)
|
1655
1164
|
{
|
1656
|
-
|
1165
|
+
static_assert(sizeof(CharType) == 0, "If you want to output boost::optional, include header <boost/optional/optional_io.hpp>");
|
1657
1166
|
return os;
|
1658
1167
|
}
|
1659
1168
|
|