/usr/include/boost/fiber
NameSizeModeActions
algo/-0755rm
cuda/-0755rm
detail/-0755rm
future/-0755rm
hip/-0755rm
numa/-0755rm
all.hpp13810644editdlrm
barrier.hpp10220644editdlrm
buffered_channel.hpp255790644editdlrm
channel_op_status.hpp6780644editdlrm
condition_variable.hpp87120644editdlrm
context.hpp159270644editdlrm
exceptions.hpp33520644editdlrm
fiber.hpp45490644editdlrm
fixedsize_stack.hpp7820644editdlrm
fss.hpp25930644editdlrm
future.hpp3840644editdlrm
mutex.hpp13730644editdlrm
operations.hpp30340644editdlrm
policy.hpp8120644editdlrm
pooled_fixedsize_stack.hpp7210644editdlrm
properties.hpp20770644editdlrm
protected_fixedsize_stack.hpp7390644editdlrm
recursive_mutex.hpp16480644editdlrm
recursive_timed_mutex.hpp23800644editdlrm
scheduler.hpp55250644editdlrm
segmented_stack.hpp8170644editdlrm
timed_mutex.hpp21050644editdlrm
type.hpp23320644editdlrm
unbuffered_channel.hpp267860644editdlrm
Edit: /usr/include/boost/fiber/properties.hpp (2077B)
// Copyright Nat Goodspeed 2014. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // Define fiber_properties, a base class from which a library consumer can // derive a subclass with specific properties important to a user-coded // scheduler. #ifndef BOOST_FIBERS_PROPERTIES_HPP #define BOOST_FIBERS_PROPERTIES_HPP #include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX #endif # if defined(BOOST_MSVC) # pragma warning(push) # pragma warning(disable:4275) # endif namespace boost { namespace fibers { class context; namespace algo { class algorithm; } class BOOST_FIBERS_DECL fiber_properties { protected: // initialized by constructor context * ctx_; // set every time this fiber becomes READY algo::algorithm * algo_{ nullptr }; // Inform the relevant algorithm instance that something important // has changed, so it can (presumably) adjust its data structures // accordingly. void notify() noexcept; public: // Any specific property setter method, after updating the relevant // instance variable, can/should call notify(). // fiber_properties, and by implication every subclass, must accept a back // pointer to its context. explicit fiber_properties( context * ctx) noexcept : ctx_{ ctx } { } // We need a virtual destructor (hence a vtable) because fiber_properties // is stored polymorphically (as fiber_properties*) in context, and // destroyed via that pointer. virtual ~fiber_properties() = default; // not really intended for public use, but algorithm_with_properties // must be able to call this void set_algorithm( algo::algorithm * algo) noexcept { algo_ = algo; } }; }} // namespace boost::fibers # if defined(BOOST_MSVC) # pragma warning(pop) # endif #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_SUFFIX #endif #endif // BOOST_FIBERS_PROPERTIES_HPP