vc3/link/ref.h
2025-04-17 13:27:20 +02:00

25 lines
501 B
C

#pragma once
#include "sym.h"
#include <stdint.h>
typedef struct {
const Sym* sym;
uint16_t offset;
} Ref;
typedef struct RefQueueChunk RefQueueChunk;
typedef struct {
Ref* data;
size_t capacity;
size_t back;
size_t front;
} RefQueue;
void ref_queue_construct(RefQueue* queue);
void ref_queue_destroy(RefQueue* queue);
void ref_queue_push(RefQueue* queue, const Sym* sym, uint16_t offset);
Ref ref_queue_pop(RefQueue* queue);
size_t ref_queue_size(const RefQueue* queue);