CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
SArray (Dynamic Arrays)

Modules

 Core Types & Information
 
 Array Lifecycle & Size Management
 
 Array Operations
 
 Slicing, Cloning & Merging
 

Detailed Description

Generic dynamic arrays with type safety, optional sorting, and automatic growth.

Key Features:

Basic Usage:

sa_int32 arr = { 0 };
saInit(&arr, int32, 16);
saPush(&arr, int32, 42);
saPush(&arr, int32, 17);
int32 idx = saFind(arr, int32, 42);
saDestroy(&arr);
#define saDestroy(handle)
Definition sarray.h:348
#define saInit(out, type, capacity,...)
Definition sarray.h:318
#define saFind(ref, type, elem,...)
Definition sarray.h:569
#define saPush(handle, type, elem,...)
Definition sarray.h:467

Sorted Arrays:

sa_int32 sorted = { 0 };
saInit(&sorted, int32, 0, SA_Sorted);
saPush(&sorted, int32, 30); // Inserted in sorted position
saPush(&sorted, int32, 10);
saPush(&sorted, int32, 20);
// Array is now [10, 20, 30]
int32 idx = saFind(sorted, int32, 20); // O(log n) binary search
@ SA_Sorted
Maintain sorted order with O(log n) search and O(n) insert.
Definition sarray.h:147