carb::tasking::Tracker
Defined in carb/tasking/TaskingHelpers.h
- 
struct Tracker : public carb::tasking::Object
- Helper class to provide correct types to the Trackers class. - The following types are valid trackers: - Anything convertible to Counter*, such as CounterWrapper. Counters are deprecated however. The Counter is incremented before the task can possibly begin executing and decremented when the task finishes. 
- Future<void>&: This can be used to atomically populate a Future<void> before the task could possibly start executing. 
- Future<void>*: Can be - nullptr, but if not, can be used to atomically populate a Future<void> before the task could possibly start executing.
- TaskContext&: By providing a reference to a TaskContext it will be atomically filled before the task could possibly begin executing. 
- TaskContext*: By providing a pointer to a TaskContext (that can be - nullptr), it will be atomically filled before the task could possibly begin executing, if valid.
 - Public Functions - 
template<class T, std::enable_if_t<std::is_convertible<T, Counter*>::value, bool> = false>
 inline constexpr Tracker(T &&c)
- Constructor that accepts a Counter* or an object convertible to Counter*, such as CounterWrapper. - Parameters
- c – The object convertible to Counter*. 
 
 - 
template<class T, std::enable_if_t<std::is_convertible<T, const char*>::value, bool> = false>
 inline constexpr Tracker(T &&name)
- Constructor that accepts a task name. - See also - ITasking::nameTask() - Note - This is not a Tracker per se; this is syntactic sugar to name a task as it is created. - Template Parameters
- T – A type that is convertible to - const char*.
- Parameters
- name – Either a - const char*(dynamic string) or a- const char (&)[N](literal string) as the string name for a task.
 
 - 
inline Tracker(Future<> &fut)
- Constructor that accepts a Future<void>&. - The Future will be initialized before the task can begin. 
 - 
inline Tracker(Future<> *fut)
- Constructor that accepts a Future<void>*. - The Future<void> will be initialized before the task can begin. The Future<void> pointer can be - nullptr.
 - Constructor that accepts a SharedFuture<void>&. - The SharedFuture will be initialized before the task can begin. 
 - Constructor that accepts a SharedFuture<void>*. - The SharedFuture<void> will be initialized before the task can begin. The SharedFuture<void> pointer can be - nullptr.
 - 
inline constexpr Tracker(TaskContext &ctx)
- Constructor that accepts a TaskContext&. - The value will be atomically written before the task can begin. 
 - 
inline constexpr Tracker(TaskContext *ctx)
- Constructor that accepts a TaskContext*. - The value will be atomically written before the task can begin. The TaskContext* can be - nullptr.
 - Public Members - 
ObjectType type
- The ObjectType of the represented type. 
 - 
void *data
- Interpreted based on the ObjectType provided.