VecInit
- Macro
- October 8, 2025
Table of Contents
VecInit
VecInitDescription
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
Str.c:96:
ValidateStr(s);
StrIters sv = VecInit();
size keylen = ZstrLen(key);
- In
Dir.c:78:
}
SysDirContents dc = VecInit();
// Construct the search path with a wildcard
- In
Dir.c:124:
}
SysDirContents dc = VecInit();
DIR *dir = opendir(path);
- In
Vec.Foreach.c:34:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Foreach.c:73:
// 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
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.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
- 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();
// 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
- 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.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:524:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:601:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:638:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:673:
// Create a vector of integers
typedef Vec(int) IntVec;
IntVec vec = VecInit();
// Add some data
- In
Vec.Remove.c:752:
// 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) {
WriteFmt("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
- 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
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();
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(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);
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
ElfInfo.c:414:
);
Vec(int) vi = VecInit();
VecForeachIdx(&vi, val, i) {
WriteFmtLn("{}", val);
- 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
- In
Init.h:96:
#ifdef __cplusplus
# define StrInit() (Str VecInit())
#else
///
- In
Init.h:106:
/// FAILURE : NULL
///
# define StrInit() ((Str)VecInit())
#endif