PFUNC
1.0
|
An implementation of the ``attributes'' that a task can have. More...
#include <pfunc/attribute.hpp>
An implementation of the ``attributes'' that a task can have.
Priority | The type of the priority, defaults to int. |
Compare | The comparison function that orders on Priority. |
Alloc | The allocator that needs to be used to allocate attribute. |
Each ``task'' that is added has certain attributes. These include the queue_number, priority of the task, etc. This structure implements the functionality described above. Note that a single attribute can be reused with multiple tasks if they are all going to have the same attributes.
typedef Compare pfunc::detail::attribute< Priority, Compare >::compare_type |
Type of the ordering function
typedef bool pfunc::detail::attribute< Priority, Compare >::grouped_type |
Type of join_group
typedef unsigned int pfunc::detail::attribute< Priority, Compare >::level_type |
Type of the level variable
typedef bool pfunc::detail::attribute< Priority, Compare >::nested_type |
Type of is_nested
typedef unsigned int pfunc::detail::attribute< Priority, Compare >::num_waiters_type |
Type of the num waiters
typedef Priority pfunc::detail::attribute< Priority, Compare >::priority_type |
Type of the priority
typedef unsigned int pfunc::detail::attribute< Priority, Compare >::qnum_type |
Type of the qnumber
pfunc::detail::attribute< Priority, Compare >::attribute | ( | const nested_type & | is_nested = true , |
const grouped_type & | join_group = false |
||
) | [inline] |
Constructor
const grouped_type pfunc::detail::attribute< Priority, Compare >::get_grouped | ( | ) | const [inline] |
const level_type& pfunc::detail::attribute< Priority, Compare >::get_level | ( | ) | const [inline] |
const nested_type& pfunc::detail::attribute< Priority, Compare >::get_nested | ( | ) | const [inline] |
const num_waiters_type& pfunc::detail::attribute< Priority, Compare >::get_num_waiters | ( | ) | const [inline] |
const priority_type& pfunc::detail::attribute< Priority, Compare >::get_priority | ( | ) | const [inline] |
const qnum_type& pfunc::detail::attribute< Priority, Compare >::get_queue_number | ( | ) | const [inline] |
void pfunc::detail::attribute< Priority, Compare >::set_grouped | ( | const grouped_type & | grouped | ) | [inline] |
grouped | Group the task. |
void pfunc::detail::attribute< Priority, Compare >::set_level | ( | const level_type & | new_level | ) | [inline] |
nwait | Number of waiters receiving completion notices. |
void pfunc::detail::attribute< Priority, Compare >::set_nested | ( | const nested_type & | nest | ) | [inline] |
nest | Nest (unnest) the task. |
void pfunc::detail::attribute< Priority, Compare >::set_num_waiters | ( | const num_waiters_type & | nwait | ) | [inline] |
nwait | Number of waiters receiving completion notices. |
void pfunc::detail::attribute< Priority, Compare >::set_priority | ( | const priority_type & | prio | ) | [inline] |
prio | Priority of this task. |
void pfunc::detail::attribute< Priority, Compare >::set_queue_number | ( | const qnum_type & | qnum | ) | [inline] |
qnum | Queue number that this particular task should be put into |
bool operator< | ( | const attribute< Priority, Compare > & | one, |
const attribute< Priority, Compare > & | two | ||
) | [friend] |
operator<
nested_type pfunc::detail::attribute< Priority, Compare >::is_nested [private] |
Is the task nested
grouped_type pfunc::detail::attribute< Priority, Compare >::join_group [private] |
Should we join the group or not
level_type pfunc::detail::attribute< Priority, Compare >::level [private] |
Denotes the level of the task in the spawn tree
num_waiters_type pfunc::detail::attribute< Priority, Compare >::num_waiters [private] |
Number of parents of this task
priority_type pfunc::detail::attribute< Priority, Compare >::priority [private] |
Priority of this task
qnum_type pfunc::detail::attribute< Priority, Compare >::queue_number [private] |
The queue that this task should be put into