51 typedef std::shared_ptr<item_with_predicate>
53 typedef std::weak_ptr<item_with_predicate>
55 typedef std::deque<weak_pointer_t>
A runner augmentation allowing for worker threads.
virtual ~item_with_predicate()
The destructor of the item with predicate.
bool f_processing
Whether this workload is being processed.
virtual bool valid_workload() const
The valid_workload() to test whether we can process this item.
void add_dependencies(dependencies_t const &dependencies)
Add a set of dependencies at once.
std::shared_ptr< item_with_predicate > pointer_t
The item_with_predicate shared pointer type.
mutex f_mutex
The mutex used to protect the predicate variables.
std::deque< weak_pointer_t > dependencies_t
The type representing the list of dependencies.
dependencies_t f_dependencies
Set of dependencies.
void add_dependency(pointer_t dependency)
Add an item as a predicate of this item.
std::weak_ptr< item_with_predicate > weak_pointer_t
The item_with_predicate weak pointer type.
A mutex object to ensures atomicity.
Thread Runner and Managers.