task_lists.doxy 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010-2017 CNRS
  4. * Copyright (C) 2009-2011,2014,2016 Université de Bordeaux
  5. * Copyright (C) 2011,2012 Inria
  6. *
  7. * StarPU is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU Lesser General Public License as published by
  9. * the Free Software Foundation; either version 2.1 of the License, or (at
  10. * your option) any later version.
  11. *
  12. * StarPU is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  15. *
  16. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  17. */
  18. /*! \defgroup API_Task_Lists Task Lists
  19. \struct starpu_task_list
  20. Stores a double-chained list of tasks
  21. \ingroup API_Task_Lists
  22. \var struct starpu_task *starpu_task_list::head
  23. head of the list
  24. \var struct starpu_task *starpu_task_list::tail
  25. tail of the list
  26. \fn void starpu_task_list_init(struct starpu_task_list *list)
  27. \ingroup API_Task_Lists
  28. Initialize a list structure
  29. \fn void starpu_task_list_push_front(struct starpu_task_list *list, struct starpu_task *task)
  30. \ingroup API_Task_Lists
  31. Push \p task at the front of \p list
  32. \fn void starpu_task_list_push_back(struct starpu_task_list *list, struct starpu_task *task)
  33. \ingroup API_Task_Lists
  34. Push \p task at the back of \p list
  35. \fn struct starpu_task *starpu_task_list_front(const struct starpu_task_list *list)
  36. \ingroup API_Task_Lists
  37. Get the front of \p list (without removing it)
  38. \fn struct starpu_task *starpu_task_list_back(const struct starpu_task_list *list)
  39. \ingroup API_Task_Lists
  40. Get the back of \p list (without removing it)
  41. \fn int starpu_task_list_empty(const struct starpu_task_list *list)
  42. \ingroup API_Task_Lists
  43. Test if \p list is empty
  44. \fn void starpu_task_list_erase(struct starpu_task_list *list, struct starpu_task *task)
  45. \ingroup API_Task_Lists
  46. Remove \p task from \p list
  47. \fn struct starpu_task *starpu_task_list_pop_front(struct starpu_task_list *list)
  48. \ingroup API_Task_Lists
  49. Remove the element at the front of \p list
  50. \fn struct starpu_task *starpu_task_list_pop_back(struct starpu_task_list *list)
  51. \ingroup API_Task_Lists
  52. Remove the element at the back of \p list
  53. \fn struct starpu_task *starpu_task_list_begin(const struct starpu_task_list *list)
  54. \ingroup API_Task_Lists
  55. Get the first task of \p list.
  56. \fn struct starpu_task *starpu_task_list_end(const struct starpu_task_list *list)
  57. \ingroup API_Task_Lists
  58. Get the end of \p list.
  59. \fn struct starpu_task *starpu_task_list_next(const struct starpu_task *task)
  60. \ingroup API_Task_Lists
  61. Get the next task of \p list. This is not erase-safe.
  62. \fn int starpu_task_list_ismember(const struct starpu_task_list *list, const struct starpu_task *look)
  63. \ingroup API_Task_Lists
  64. Test whether the given task \p look is contained in the \p list.
  65. */