Foundations

This commit is contained in:
2026-08-29 01:50:50 +08:00
parent bf5fc3bda6
commit 8e95904cc4
100 changed files with 13997 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
#ifndef INCLUDED_C_ARRAYSTACK_H
#define INCLUDED_C_ARRAYSTACK_H
#ifndef INCLUDED_C_TYPES_H
#include <c_Types.h>
#endif /*INCLUDED_C_TYPES_H*/
/* ------------------------------------------------------------------------------------------------------------------ */
/* */
typedef struct {
void* array;
int obj_size;
c_size_t capacity;
c_size_t size;
} c_ArrayStack_t;
c_err_t c_ArrayStack_Init(c_ArrayStack_t* self, int obj_size, c_size_t capacity);
void c_ArrayStack_Destroy(c_ArrayStack_t* self);
c_err_t c_ArrayStack_Push(c_ArrayStack_t* self, void* obj);
c_err_t c_ArrayStack_Pop(c_ArrayStack_t* self, void* obj);
void* c_ArrayStack_Peek(c_ArrayStack_t* self);
c_err_t c_ArrayStack_Remove(c_ArrayStack_t* self, c_size_t index);
C_STATIC_FORCE_INLINE
c_bool_t c_ArrayStack_IsEmpty(c_ArrayStack_t* self) {
return self->size == 0;
}
#endif /*INCLUDED_C_ARRAYSTACK_H*/