49 list <void *>::iterator
end;
50 list <void *>::iterator
it;
65 l->l.push_front(data);
75 if (
l->l.size() >= (
unsigned) max_size) {
87 void *ret =
l->l.front();
110 if (
l->l.size() == 0) {
114 ret->it =
l->l.begin();
115 ret->end =
l->l.end();
123 void *ret = *sit->it;
125 if (sit->it == sit->end) {
134 const auto *sit =
static_cast<const sll_it *
>(it);
146 for (
auto it =
l->l.begin(); it !=
l->l.end(); ++it) {
158 for (
auto it =
l->l.begin(); it !=
l->l.end(); ++it) {
void simple_linked_list_append(struct simple_linked_list *l, void *data)
void simple_linked_list_prepend(struct simple_linked_list *l, void *data)
void * simple_linked_list_it_peek_next(const void *it)
void * simple_linked_list_it_next(void **i)
bool simple_linked_list_remove(struct simple_linked_list *l, void *item)
int simple_linked_list_size(struct simple_linked_list *l)
void * simple_linked_list_last(struct simple_linked_list *l)
returns last element of list, UB if empty
struct simple_linked_list * simple_linked_list_init(void)
void simple_linked_list_destroy(struct simple_linked_list *l)
void * simple_linked_list_first(struct simple_linked_list *l)
returns first element of list, UB if empty
bool simple_linked_list_append_if_less(struct simple_linked_list *l, void *data, int max_size)
void simple_linked_list_it_destroy(void *i)
Should be used when it != NULL, eg. when leaving the loop before the end.
void * simple_linked_list_pop(struct simple_linked_list *l)
void * simple_linked_list_remove_index(struct simple_linked_list *l, int index)
void * simple_linked_list_it_init(struct simple_linked_list *l)
list< void * >::iterator it
list< void * >::iterator end