Files
Server_Monitor/code/lib/ds.h
2023-09-26 19:40:16 +02:00

30 lines
694 B
C++

#ifndef _PIUMA_LIB_DS_H_
#define _PIUMA_LIB_DS_H_
#include "types.h"
#include "stdlib.h"
typedef int compare_fn(const void *, const void *);
// Basic compare functions
int char_cmp(const void *a, const void *b);
int u8_cmp (const void *a, const void *b);
int u32_cmp(const void *a, const void *b);
int u64_cmp(const void *a, const void *b);
int s32_cmp(const void *a, const void *b);
int s64_cmp(const void *a, const void *b);
// Modifies "array" and returns the number of unique things
u64 make_unique(void *array, u64 count, u64 element_size, compare_fn *cmp);
// @Cleanup: put this in the right place
template<typename T>
void swap(T &a, T &b)
{
T tmp = a;
a = b;
b = tmp;
}
#endif