summaryrefslogtreecommitdiff
path: root/src/example.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/example.c')
-rw-r--r--src/example.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/example.c b/src/example.c
new file mode 100644
index 0000000..12383fa
--- /dev/null
+++ b/src/example.c
@@ -0,0 +1,35 @@
+#include <assert.h>
+
+#include "pad.h"
+
+typedef struct foo_t {
+ int x, y, z;
+} foo_t;
+
+#define CHUNK_CNT 256
+
+int main(int argc, char *argv[])
+{
+ foo_t *f[10 * CHUNK_CNT];
+ pad_t *p;
+
+ p = pad_new(sizeof(foo_t) * 256);
+ assert(p);
+
+ for (int n = 0; n < 10; n++) {
+ for (int i = 0; i < 10 * CHUNK_CNT; i++)
+ assert(f[i] = pad_get(p, sizeof(foo_t)));
+
+ for (int i = 0; i < 10 * CHUNK_CNT; i++)
+ pad_put(f[i]);
+
+ for (int i = 0; i < 10 * CHUNK_CNT; i++)
+ assert(f[i] = pad_get(p, sizeof(foo_t)));
+
+ pad_reset(p);
+ }
+
+ pad_free(p);
+
+ return 0;
+}
© All Rights Reserved