/* * SPDX-FileCopyrightText: 2019-2023 Bruce Cowan <bruce@bcowan.me.uk> * * SPDX-License-Identifier: GPL-3.0-or-later */ #include <inttypes.h> #include <stdint.h> #include <stdio.h> #include <array.h> static void print_element (void *data, void *user_data) { printf ("%" PRIdPTR " ", (intptr_t) data); } static void print_details (Array *arr) { size_t len = array_get_length (arr); size_t capacity = array_get_capacity (arr); printf ("Array length %zu, Array capacity %zu\n", len, capacity); printf ("Data is: "); array_foreach (arr, print_element, nullptr); printf ("\n"); } int main (void) { Array *arr = array_new (nullptr); print_details (arr); for (int i = 0; i < 10; i++) { array_add (arr, (const void *) (intptr_t) i); print_details (arr); } for (int i = 0; i < 10; i++) { array_remove_fast (arr, 0); print_details (arr); } return 0; }