Examples for using static vectors (in-place storage, up to a fixed size).
Examples for using static vectors (in-place storage, up to a fixed size).
#include <assert.h>
#include <stdint.h>
#define MAX_CAPACITY 8
#define T unsigned char
#define SELF staticvec_chars
#define INPLACE_CAPACITY MAX_CAPACITY
staticvec_chars vec = staticvec_chars_new();
staticvec_chars_push(&vec, i);
}
assert(!staticvec_chars_try_push(&vec, 8));
assert(*staticvec_chars_read(&vec, i) == i);
}
assert(staticvec_chars_try_read(&vec,
MAX_CAPACITY) == NULL);
assert(staticvec_chars_try_read(&vec,
MAX_CAPACITY + 1) == NULL);
staticvec_chars_delete(&vec);
}
staticvec_chars vec = staticvec_chars_new();
staticvec_chars_push(&vec, 'a' + i);
}
staticvec_chars_iter_const iter = staticvec_chars_get_iter_const(&vec);
unsigned char const* item = NULL;
while (item = staticvec_chars_iter_const_next(&iter), item != NULL) {
printf("%u ", *item);
}
printf("\n");
staticvec_chars_delete(&vec);
}
}