return NULL;
}
@DefineFunc:
- bool has_elem(elem *e) {
+ int has_elem(t_element *pos) {
for (int i = 0; i < size(list); i++) {
elem *existing = (elem*) elem_at_index(list, i);
- if (e->pos == existing->pos) {
- return true;
+ if (pos == existing->pos) {
+ return i;
}
}
- return false;
+ return -1;
+ }
+ @DefineFunc:
+ void prepare(t_element *pos) {
+ elem *e = new_elem(
+ push_back(list, e);
}
@DefineFunc:
- bool insert_elem(elem *e) {
+ void publish(t_element *pos) {
+ elem *e = new_elem(
push_back(list, e);
}
@DefineFunc:
void consume_elem(t_element *pos) {
-
+ int idx = has_elem(pos);
+ if (idx == -1)
+ return;
+ remove_at_index(list, idx);
}
*/