diff --git a/include/deque.h b/include/deque.h index ea6c0b6..68a88dd 100644 --- a/include/deque.h +++ b/include/deque.h @@ -49,29 +49,15 @@ struct _deque bool (*pop_front)(struct _deque* self, void* obj); bool (*back)(struct _deque* self, void* obj); bool (*front)(struct _deque* self, void* obj); - bool (*empty)(struct _deque* self); - + // base uint32_t(*size)(struct _deque* self); bool (*clear)(struct _deque* self); + bool (*empty)(struct _deque* self); // iter iterator_t (*iter)(struct _deque* self, enum _deque_order order); - // ohters - bool (*insert)(struct _deque* self, int index, void* obj); - bool (*erase)(struct _deque* self, int index, void* obj); - - int (*index)(struct _deque* self, void* obj); - bool (*remove)(struct _deque* self, void* obj); - - bool (*get)(struct _deque* self, int index, void* obj); - bool (*set)(struct _deque* self, int index, void* obj); - - // compare - // int (*compare)(void* obj, void* obj2); - // bool (*sort)(struct _deque* self, uint8_t reserve); - // -------------------- debug -------------------- void (*print)(struct _deque* self); void (*print_obj)(void* obj); diff --git a/src/deque.c b/src/deque.c index edefa6f..655d908 100644 --- a/src/deque.c +++ b/src/deque.c @@ -198,26 +198,6 @@ static bool deque_front(struct _deque* self, void* obj) return true; } -static bool deque_insert(struct _deque* self, int index, void* obj) -{ - return true; -} - -static bool deque_erase(struct _deque* self, int index, void* obj) -{ - return true; -} - -static int deque_index(struct _deque* self, void* obj) -{ - return -1; -} - -static bool deque_remove(struct _deque* self, void* obj) -{ - return true; -} - static bool deque_clear(struct _deque* self) { while (!self->empty(self)) @@ -227,38 +207,6 @@ static bool deque_clear(struct _deque* self) return true; } -static bool deque_get(struct _deque* self, int index, void* obj) -{ - assert(self != NULL); - assert(obj != NULL); - assert(index >= 0 && index < self->size(self)); - - struct _deque_node* node = self->_head; // front - - for (int i = 0; i < index; i++) - { - node = node->next; - } - memmove(obj, node->obj, self->_obj_size); - return true; -} - -static bool deque_set(struct _deque* self, int index, void* obj) -{ - assert(self != NULL); - assert(obj != NULL); - assert(index >= 0 && index < self->size(self)); - - struct _deque_node* node = self->_head; // front - - for (int i = 0; i < index; i++) - { - node = node->next; - } - memmove(node->obj, obj, self->_obj_size); - return true; -} - static uint32_t deque_size(struct _deque* self) { assert(self != NULL); @@ -384,25 +332,15 @@ static bool deque_init(struct _deque* self, uint32_t obj_size) self->pop_front = deque_pop_front; self->back = deque_back; self->front = deque_front; - self->empty = deque_empty; - + // base self->clear = deque_clear; self->size = deque_size; + self->empty = deque_empty; // iter self->iter = deque_iter; - // others - self->insert = deque_insert; - self->erase = deque_erase; - - self->index = deque_index; - self->remove = deque_remove; - - self->set = deque_set; - self->get = deque_get; - // -------------------- debug -------------------- self->print = deque_print;