#pragma once
#include <stdint.h>

struct _yrtag_idxmap;
typedef struct _yrtag_idxmap yrIdxmap;
static const uint32_t invalid_item = 0xFFFFFFFFul;

yrIdxmap*	yrIdxmap_create(size_t size);
void		yrIdxmap_destroy(yrIdxmap* im);
uint32_t	yrIdxmap_lookup(yrIdxmap* im, uint32_t id);
uint32_t	yrIdxmap_insert(yrIdxmap* im, uint32_t id);
uint32_t	yrIdxmap_remove(yrIdxmap* im, uint32_t id);
int			yrIdxmap_isfull(yrIdxmap* im);