diff options
author | Ian Romanick <[email protected]> | 2010-08-16 18:02:11 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2010-09-03 11:55:21 -0700 |
commit | 29eebe9a9a0486f12e33e2818c192ef683fdfede (patch) | |
tree | 6acbadd70415e49c2381e101a8aef1de862778e2 /src/glsl/list.h | |
parent | 9710d272f71c95c8145999a31e2c47e1977c698e (diff) |
exec_list: Add pop_head
Diffstat (limited to 'src/glsl/list.h')
-rw-r--r-- | src/glsl/list.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/glsl/list.h b/src/glsl/list.h index a70b79d571f..76477743106 100644 --- a/src/glsl/list.h +++ b/src/glsl/list.h @@ -378,6 +378,23 @@ struct exec_list { } /** + * Remove the first node from a list and return it + * + * \return + * The first node in the list or \c NULL if the list is empty. + * + * \sa exec_list::get_head + */ + exec_node *pop_head() + { + exec_node *const n = this->get_head(); + if (n != NULL) + n->remove(); + + return n; + } + + /** * Move all of the nodes from this list to the target list */ void move_nodes_to(exec_list *target) |