Files
osc2025/kernel/include/vector.h
2025-04-08 06:59:50 +08:00

19 lines
365 B
C

#pragma once
#include <stddef.h>
typedef struct {
size_t size;
size_t cap;
uint64_t *data;
} vector_t;
vector_t *make_vector(size_t size);
uint64_t vec_at(const vector_t *vec, size_t idx);
void vec_push(vector_t *vec, uint64_t val);
#define VEC_AT(type, vec, idx) ((type *)vec_at((vec), (idx)))
#define VEC_PUSH(vec, val) vec_push(vec, (uint64_t)val)