#include <threaded_object.hpp>
|
| threaded_object ()=default |
|
virtual | ~threaded_object () noexcept |
| Destructor. Safely shuts down the managed thread by setting _running to false, notifying the condition variable, and then joining the thread.Catches and logs any std::system_error thrown by thread::join. Asserts in debug mode if such an exception is caught, as it indicates a serious bug that must be addressed.
|
|
|
template<typename... Args> |
static std::unique_ptr< Derived > | create (std::shared_ptr< std::mutex > mtx, std::shared_ptr< std::condition_variable > cv, Args &&... args) |
|
|
std::shared_ptr< std::mutex > | _mtx |
|
std::shared_ptr< std::condition_variable > | _cv |
|
◆ threaded_object()
template<typename Derived, typename MessageDataType>
◆ ~threaded_object()
template<typename Derived, typename MessageDataType>
Destructor. Safely shuts down the managed thread by setting _running to false, notifying the condition variable, and then joining the thread.Catches and logs any std::system_error thrown by thread::join. Asserts in debug mode if such an exception is caught, as it indicates a serious bug that must be addressed.
◆ create()
template<typename Derived, typename MessageDataType>
template<typename... Args>
static std::unique_ptr< Derived > cbeam::concurrency::threaded_object< Derived, MessageDataType >::create |
( |
std::shared_ptr< std::mutex > | mtx, |
|
|
std::shared_ptr< std::condition_variable > | cv, |
|
|
Args &&... | args ) |
|
inlinestatic |
◆ get_message()
template<typename Derived, typename MessageDataType>
◆ is_message_available()
template<typename Derived, typename MessageDataType>
◆ on_exit()
template<typename Derived, typename MessageDataType>
◆ on_message()
template<typename Derived, typename MessageDataType>
|
inlineprotectedvirtualnoexcept |
◆ on_start()
template<typename Derived, typename MessageDataType>
◆ _cv
template<typename Derived, typename MessageDataType>
◆ _mtx
template<typename Derived, typename MessageDataType>
The documentation for this class was generated from the following file: