27 #ifndef EMBB_MTAPI_TASK_ATTRIBUTES_H_ 28 #define EMBB_MTAPI_TASK_ATTRIBUTES_H_ 30 #include <embb/mtapi/c/mtapi.h> 31 #include <embb/mtapi/internal/check_status.h> 32 #include <embb/mtapi/execution_policy.h> 49 mtapi_status_t status;
50 mtapi_taskattr_init(&attributes_, &status);
51 internal::CheckStatus(status);
65 mtapi_status_t status;
66 mtapi_boolean_t st = state ? MTAPI_TRUE : MTAPI_FALSE;
67 mtapi_taskattr_set(&attributes_, MTAPI_TASK_DETACHED,
68 &st,
sizeof(st), &status);
69 internal::CheckStatus(status);
83 mtapi_status_t status;
84 mtapi_taskattr_set(&attributes_, MTAPI_TASK_PRIORITY,
85 &priority,
sizeof(priority), &status);
86 internal::CheckStatus(status);
100 mtapi_status_t status;
101 mtapi_taskattr_set(&attributes_, MTAPI_TASK_AFFINITY,
102 &affinity,
sizeof(affinity), &status);
103 internal::CheckStatus(status);
132 mtapi_uint_t instances
134 mtapi_status_t status;
135 mtapi_taskattr_set(&attributes_, MTAPI_TASK_INSTANCES,
136 &instances,
sizeof(instances), &status);
137 internal::CheckStatus(status);
153 mtapi_task_attributes_t attributes_;
159 #endif // EMBB_MTAPI_TASK_ATTRIBUTES_H_ Definition: lock_free_mpmc_queue.h:40
TaskAttributes & SetPriority(mtapi_uint_t priority)
Sets the priority of a Task.
Definition: task_attributes.h:80
mtapi_uint64_t mtapi_affinity_t
Core affinity type.
Definition: mtapi.h:350
TaskAttributes & SetInstances(mtapi_uint_t instances)
Sets the number of instances in a Task.
Definition: task_attributes.h:131
mtapi_task_attributes_t const & GetInternal() const
Returns the internal representation of this object.
Definition: task_attributes.h:148
mtapi_uint_t GetPriority() const
Returns the priority.
TaskAttributes & SetAffinity(mtapi_affinity_t affinity)
Sets the affinity of a Task.
Definition: task_attributes.h:97
Contains attributes of a Task.
Definition: task_attributes.h:42
TaskAttributes & SetDetached(bool state)
Sets the detached property of a Task.
Definition: task_attributes.h:62
TaskAttributes()
Constructs a TaskAttributes object.
Definition: task_attributes.h:48
Describes the execution policy of a parallel algorithm.
Definition: execution_policy.h:48
TaskAttributes & SetPolicy(ExecutionPolicy const &policy)
Sets the ExecutionPolicy of a Task.
Definition: task_attributes.h:114
mtapi_affinity_t GetAffinity() const
Returns the affinity.