StarPU Handbook

Data Structures | Macros | Functions
Task Lists

## Data Structures
struct | starpu_task_list

## Functions
void | starpu_task_list_init (struct starpu_task_list *list)
void | starpu_task_list_push_front (struct starpu_task_list *list, struct starpu_task *task)
void | starpu_task_list_push_back (struct starpu_task_list *list, struct starpu_task *task)
struct starpu_task * | starpu_task_list_front (const struct starpu_task_list *list)
struct starpu_task * | starpu_task_list_back (const struct starpu_task_list *list)
int | starpu_task_list_empty (const struct starpu_task_list *list)
void | starpu_task_list_erase (struct starpu_task_list *list, struct starpu_task *task)
struct starpu_task * | starpu_task_list_pop_front (struct starpu_task_list *list)
struct starpu_task * | starpu_task_list_pop_back (struct starpu_task_list *list)
struct starpu_task * | starpu_task_list_begin (const struct starpu_task_list *list)
struct starpu_task * | starpu_task_list_end (const struct starpu_task_list *list STARPU_ATTRIBUTE_UNUSED)
struct starpu_task * | starpu_task_list_next (const struct starpu_task *task)
int | starpu_task_list_ismember (const struct starpu_task_list *list, const struct starpu_task *look)
void | starpu_task_list_move (struct starpu_task_list *ldst, struct starpu_task_list *lsrc)

## Detailed Description

## Data Structure Documentation

## ◆ starpu_task_list

struct starpu_task_list

Store a double-chained list of tasks

Data Fields
struct starpu_task * | head | head of the list
struct starpu_task * | tail | tail of the list

## Function Documentation

## ◆ starpu_task_list_init()

void starpu_task_list_init | ( | struct starpu_task_list * | list | ) |

Initialize a list structure

## ◆ starpu_task_list_push_front()

void starpu_task_list_push_front | ( | struct starpu_task_list * | list,
|  | struct starpu_task * | task
| ) |  |

Push `task` at the front of `list`

## ◆ starpu_task_list_push_back()

void starpu_task_list_push_back | ( | struct starpu_task_list * | list,
|  | struct starpu_task * | task
| ) |  |

Push `task` at the back of `list`

## ◆ starpu_task_list_front()

struct starpu_task * starpu_task_list_front | ( | const struct starpu_task_list * | list | ) |

Get the front of `list` (without removing it)

## ◆ starpu_task_list_back()

struct starpu_task * starpu_task_list_back | ( | const struct starpu_task_list * | list | ) |

Get the back of `list` (without removing it)

## ◆ starpu_task_list_empty()

int starpu_task_list_empty | ( | const struct starpu_task_list * | list | ) |

Test if `list` is empty

## ◆ starpu_task_list_erase()

void starpu_task_list_erase | ( | struct starpu_task_list * | list,
|  | struct starpu_task * | task
| ) |  |

Remove `task` from `list`

## ◆ starpu_task_list_pop_front()

struct starpu_task * starpu_task_list_pop_front | ( | struct starpu_task_list * | list | ) |

Remove the element at the front of `list`

## ◆ starpu_task_list_pop_back()

struct starpu_task * starpu_task_list_pop_back | ( | struct starpu_task_list * | list | ) |

Remove the element at the back of `list`

## ◆ starpu_task_list_begin()

struct starpu_task * starpu_task_list_begin | ( | const struct starpu_task_list * | list | ) |

Get the first task of `list`.

## ◆ starpu_task_list_end()

struct starpu_task * starpu_task_list_end | ( | const struct starpu_task_list *list | STARPU_ATTRIBUTE_UNUSED | ) |

Get the end of `list`.

## ◆ starpu_task_list_next()

struct starpu_task * starpu_task_list_next | ( | const struct starpu_task * | task | ) |

Get the next task of `list`. This is not erase-safe.

## ◆ starpu_task_list_ismember()

int starpu_task_list_ismember | ( | const struct starpu_task_list * | list,
|  | const struct starpu_task * | look
| ) |  |

Test whether the given task `look` is contained in the `list`.