VecInit
- Macro
- August 22, 2025
Table of Contents
VecInit
VecInit
Description
Initialize vector. Default alignment is 1 It is mandatory to initialize vectors before use. Not doing so is undefined behaviour.
Usage example (from documentation)
Vec(HttpRequest) requests = VecInit();
Usage example (Cross-references)
- In
Init.h:103
:
/// FAILURE : NULL
///
# define StrInit() ((Str)VecInit())
#endif
- In
Sys.c:110
:
}
SysDirContents dc = VecInit();
// Construct the search path with a wildcard
- In
Sys.c:157
:
}
SysDirContents dc = VecInit();
DIR* dir = opendir(path);
- In
Str.c:95
:
ValidateStr(s);
StrIters sv = VecInit();
size keylen = ZstrLen(key);
- In
MisraEnum.c:52
:
ReadCompleteFile(input_filename, &code.data, &code.length, &code.capacity);
EnumEntries entries = VecInit();
StrIter json = StrIterFromStr(code);
- In
MisraDoc.c:120
:
// recursively explore directories and get files that need documentation
Strs file_paths = VecInit();
Scope(&file_paths, VecDeinit, {
// temporary vector to store all directory paths to explore files in
Str json = StrInit();
Vec(i32) empty_numbers = VecInit();
Vec(Str) empty_strings = VecInitWithDeepCopy(NULL, StrDeinit);
Str json = StrInit();
Vec(i32) empty_list = VecInit();
JW_OBJ(json, {
Str json = StrInit();
Vec(i32) empty_arr = VecInit();
Vec(i32) filled_arr = VecInit();
i32 val1 = 1, val2 = 2;
Vec(i32) empty_arr = VecInit();
Vec(i32) filled_arr = VecInit();
i32 val1 = 1, val2 = 2;
VecPushBack(&filled_arr, val1);
StrIter si1 = StrIterFromStr(json1);
Vec(i32) items = VecInit();
JR_OBJ(si1, {
i32 x_value;
Vec(i32) filled_items;
} obj = {0, VecInit()};
JR_OBJ(si, {
Str json = StrInit();
Vec(u32) numbers = VecInit();
u32 num1 = 1, num2 = 2, num3 = 3;
VecPushBack(&numbers, num1);
VecPushBack(&strings, str3);
Vec(bool) booleans = VecInit();
bool bool1 = true, bool2 = false, bool3 = true;
VecPushBack(&booleans, bool1);
- In
RoundTrip.c:352
:
// Original data
Vec(i32) original_numbers = VecInit();
Vec(Str) original_strings = VecInitWithDeepCopy(NULL, StrDeinit);
- In
RoundTrip.c:380
:
// Read back from JSON
Vec(i32) parsed_numbers = VecInit();
Vec(Str) parsed_strings = VecInitWithDeepCopy(NULL, StrDeinit);
- In
RoundTrip.c:648
:
// Original empty data
Vec(i32) empty_numbers = VecInit();
Vec(Str) empty_strings = VecInitWithDeepCopy(NULL, StrDeinit);
Str empty_str = StrInit();
- In
RoundTrip.c:668
:
// Read back from JSON
Vec(i32) parsed_numbers = VecInit();
Vec(Str) parsed_strings = VecInitWithDeepCopy(NULL, StrDeinit);
Str parsed_str = StrInit();
- In
Str.Type.c:95
:
// Create a valid Strs
Strs sv = VecInit();
// This should not crash
- In
Str.Type.c:133
:
// Create an invalid Strs by corrupting its fields
Strs sv = VecInit();
// Corrupt the vector to make it invalid
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Access.c:23
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Access.c:55
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Access.c:92
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Access.c:123
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Access.c:153
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Check initial size and length
- In
Vec.Access.c:203
:
// Create a vector of integers with default alignment (1)
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Check offsets
- In
Vec.Insert.c:28
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Push some elements to the back
- In
Vec.Insert.c:56
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Push some elements to the front
- In
Vec.Insert.c:84
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Insert at index 0 (empty vector)
- In
Vec.Insert.c:119
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Push an array to the back
- In
Vec.Insert.c:160
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Push an array to the front of empty vector
- In
Vec.Insert.c:201
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Push some elements first
- In
Vec.Insert.c:234
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some initial elements
- In
Vec.Insert.c:241
:
// Create another vector with elements to insert
IntVec src = VecInit();
int src_values[] = {40, 50, 60};
VecPushBackArrR(&src, src_values, 3);
- In
Vec.Insert.c:272
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec1 = VecInit();
// Add some elements to first vector
- In
Vec.Insert.c:279
:
// Create second vector
IntVec vec2 = VecInit();
// Add some elements to second vector
- In
Vec.Insert.c:313
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Test R-value insert operations
- In
Vec.Insert.c:396
:
// Create a vector of integers without copy_init
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Test VecPushBackL
- In
Vec.Insert.c:446
:
// Test VecMergeL
IntVec vec2 = VecInit();
int merge_vals[] = {140, 150, 160};
for (int i = 0; i < 3; i++) {
- In
Vec.Type.c:25
:
// Define a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Check initial state
- In
Vec.Type.c:37
:
// Test with a struct type
typedef Vec(TestItem) TestVec;
TestVec test_vec = VecInit();
// Check initial state
- In
Vec.Type.c:55
:
// Create a valid vector
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// This should not abort
- In
Vec.Memory.c:21
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Reserve more space than needed
- In
Vec.Memory.c:58
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Memory.c:103
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Initial capacity should be 0
- In
Vec.Memory.c:147
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Test VecPushBackL
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some initial elements
// Now test VecInsertRangeFastR in isolation
IntVec vec2 = VecInit();
// Add some initial elements
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some initial elements
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Test pushing to empty vector
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some elements
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some elements
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add several elements
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add several elements
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add several elements
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add several elements
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add several elements
- In
Vec.Remove.c:33
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:81
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:129
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:177
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:214
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:250
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:326
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:372
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:408
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:443
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:519
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:596
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:633
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:668
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:747
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Init.c:43
:
// Test basic vector initialization
bool test_vec_init_basic(void) {
printf("Testing VecInit\n");
// Test with int type
- In
Vec.Init.c:47
:
// Test with int type
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Check initial state
- In
Vec.Init.c:59
:
// Test with struct type
typedef Vec(TestItem) TestVec;
TestVec test_vec = VecInit();
// Check initial state
- In
Vec.Init.c:217
:
// Create a source vector
typedef Vec(int) IntVec;
IntVec src = VecInit();
// Add some data
- In
Vec.Init.c:225
:
// Create a destination vector
IntVec clone = VecInit();
// Clone the source vector into the destination
- In
Vec.Ops.c:34
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Ops.c:69
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Ops.c:121
:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data in unsorted order