VecDeinit
- Macro
- August 22, 2025
Table of Contents
VecDeinit
VecDeinit
Description
Deinit vec by freeing all allocations.
Parameters
Name | Direction | Description |
---|---|---|
v | in,out | Pointer to Vec to be deinited |
Usage example (from documentation)
Vec(Model)* models = GetAllModels(...);
... // use vector
DeinitVec(models)
Usage example (Cross-references)
- In
Insert.h:653
:
/// FAILURE : Does not return on failure
///
#define VecInitClone(vd, vs) (VecDeinit(vd), VecMerge(vd, vs))
#endif // MISRA_STD_CONTAINER_VEC_INSERT_H
- In
MisraEnum.c:216
:
StrDeinit(&e.str);
});
VecDeinit(&entries);
LogDeinit();
- In
MisraDoc.c:34
:
StrDeinit(&p->build_dir);
VecDeinit(&p->source_directories);
VecDeinit(&p->test_directories);
}
- In
MisraDoc.c:35
:
StrDeinit(&p->build_dir);
VecDeinit(&p->source_directories);
VecDeinit(&p->test_directories);
}
- In
MisraDoc.c:121
:
// 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
Strs dir_paths = VecInitWithDeepCopy(NULL, StrDeinit);
- In
MisraDoc.c:124
:
// temporary vector to store all directory paths to explore files in
Strs dir_paths = VecInitWithDeepCopy(NULL, StrDeinit);
Scope(&dir_paths, VecDeinit, {
VecMerge(&dir_paths, &project.source_directories);
VecMerge(&dir_paths, &project.test_directories);
- In
MisraDoc.c:135
:
SysDirContents dir_contents = SysGetDirContents(dir_name.data);
Scope(&dir_contents, VecDeinit, {
VecForeach(&dir_contents, dir_entry, {
// if it's a directory then store it for exploration later on
- In
Main.c:21
:
});
VecDeinit(&lines);
VecDeinit(&file);
} else {
- In
Main.c:22
:
VecDeinit(&lines);
VecDeinit(&file);
} else {
LOG_ERROR("Failed to read file");
void SimpleProductDeinit(SimpleProduct* product) {
StrDeinit(&product->name);
VecDeinit(&product->tags);
}
StrDeinit(&json);
VecDeinit(&languages);
return success;
}
- In
Read.Simple.c:44
:
void SimpleProductDeinit(SimpleProduct* product) {
StrDeinit(&product->name);
VecDeinit(&product->tags);
}
StrDeinit(&json);
VecDeinit(&languages);
return success;
}
StrDeinit(&json);
VecDeinit(&empty_numbers);
VecDeinit(&empty_strings);
return success;
StrDeinit(&json);
VecDeinit(&empty_numbers);
VecDeinit(&empty_strings);
return success;
}
StrDeinit(&json);
VecDeinit(&empty_list);
return success;
}
StrDeinit(&json);
VecDeinit(&empty_arr);
VecDeinit(&filled_arr);
return success;
StrDeinit(&json);
VecDeinit(&empty_arr);
VecDeinit(&filled_arr);
return success;
}
void EdgeCaseDataDeinit(EdgeCaseData* data) {
StrDeinit(&data->empty_string);
VecDeinit(&data->empty_array);
VecDeinit(&data->numbers);
}
StrDeinit(&data->empty_string);
VecDeinit(&data->empty_array);
VecDeinit(&data->numbers);
}
StrDeinit(&json1);
StrDeinit(&json2);
VecDeinit(&items);
VecDeinit(&data);
return success;
StrDeinit(&json2);
VecDeinit(&items);
VecDeinit(&data);
return success;
}
StrDeinit(&json);
VecDeinit(&obj.filled_items);
return success;
}
StrDeinit(&result->binary_name);
StrDeinit(&result->sha256);
VecDeinit(&result->tags);
StrDeinit(&result->created_at);
StrDeinit(&result->model_name);
StrDeinit(&json);
StrDeinit(&response.message);
VecDeinit(&response.data);
return success;
}
StrDeinit(&json);
VecDeinit(&functions);
return success;
}
StrDeinit(&json);
VecDeinit(&symbols);
return success;
}
StrDeinit(&json);
VecDeinit(&numbers);
VecDeinit(&strings);
VecDeinit(&booleans);
StrDeinit(&json);
VecDeinit(&numbers);
VecDeinit(&strings);
VecDeinit(&booleans);
return success;
VecDeinit(&numbers);
VecDeinit(&strings);
VecDeinit(&booleans);
return success;
}
- In
RoundTrip.c:42
:
void TestConfigDeinit(TestConfig* config) {
StrDeinit(&config->log_level);
VecDeinit(&config->features);
}
- In
RoundTrip.c:48
:
TestPersonDeinit(&data->user);
TestConfigDeinit(&data->config);
VecDeinit(&data->numbers);
VecDeinit(&data->flags);
}
- In
RoundTrip.c:49
:
TestConfigDeinit(&data->config);
VecDeinit(&data->numbers);
VecDeinit(&data->flags);
}
- In
RoundTrip.c:441
:
// Cleanup
StrDeinit(&json);
VecDeinit(&original_numbers);
VecDeinit(&original_strings);
VecDeinit(&parsed_numbers);
- In
RoundTrip.c:442
:
StrDeinit(&json);
VecDeinit(&original_numbers);
VecDeinit(&original_strings);
VecDeinit(&parsed_numbers);
VecDeinit(&parsed_strings);
- In
RoundTrip.c:443
:
VecDeinit(&original_numbers);
VecDeinit(&original_strings);
VecDeinit(&parsed_numbers);
VecDeinit(&parsed_strings);
return success;
- In
RoundTrip.c:444
:
VecDeinit(&original_strings);
VecDeinit(&parsed_numbers);
VecDeinit(&parsed_strings);
return success;
}
- In
RoundTrip.c:709
:
StrDeinit(&empty_str);
StrDeinit(&parsed_str);
VecDeinit(&empty_numbers);
VecDeinit(&empty_strings);
VecDeinit(&parsed_numbers);
- In
RoundTrip.c:710
:
StrDeinit(&parsed_str);
VecDeinit(&empty_numbers);
VecDeinit(&empty_strings);
VecDeinit(&parsed_numbers);
VecDeinit(&parsed_strings);
- In
RoundTrip.c:711
:
VecDeinit(&empty_numbers);
VecDeinit(&empty_strings);
VecDeinit(&parsed_numbers);
VecDeinit(&parsed_strings);
return success;
- In
RoundTrip.c:712
:
VecDeinit(&empty_strings);
VecDeinit(&parsed_numbers);
VecDeinit(&parsed_strings);
return success;
}
- In
Read.Nested.c:83
:
StrDeinit(&result->sha256);
VecForeach(&result->tags, tag, { StrDeinit(&tag); });
VecDeinit(&result->tags);
StrDeinit(&result->created_at);
StrDeinit(&result->model_name);
StrDeinit(&json);
VecDeinit(&symbols);
return success;
}
StrDeinit(&json);
StrDeinit(&response.message);
VecDeinit(&response.data);
return success;
}
StrDeinit(&json);
StrDeinit(&response.message);
VecDeinit(&response.data);
return success;
}
StrDeinit(&json);
StrDeinit(&response.message);
VecDeinit(&response.data);
return success;
}
- In
Str.Type.c:66
:
}
VecDeinit(&sv); // This should call StrDeinit on each element
return result;
}
- In
Str.Type.c:105
:
bool result = true; // If we got here, the validation didn't crash
VecDeinit(&sv);
return result;
}
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Access.c:44
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Access.c:81
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Access.c:112
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Access.c:142
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Access.c:174
:
// Clean up
VecDeinit(&vec);
// Test with a vector with alignment > 1
- In
Vec.Access.c:192
:
// Clean up
VecDeinit(&aligned_vec);
return result;
- In
Vec.Access.c:211
:
// Clean up
VecDeinit(&vec);
// Create a vector with 8-byte alignment
- In
Vec.Access.c:226
:
// Clean up
VecDeinit(&aligned_vec);
return result;
- In
Vec.Insert.c:45
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:73
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:108
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:149
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:190
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:223
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:260
:
// Clean up
VecDeinit(&vec);
VecDeinit(&src);
- In
Vec.Insert.c:261
:
// Clean up
VecDeinit(&vec);
VecDeinit(&src);
return result;
- In
Vec.Insert.c:301
:
// Clean up
VecDeinit(&vec1);
VecDeinit(&vec2);
- In
Vec.Insert.c:302
:
// Clean up
VecDeinit(&vec1);
VecDeinit(&vec2);
return result;
- In
Vec.Insert.c:385
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Insert.c:460
:
// Clean up
VecDeinit(&vec);
VecDeinit(&vec2);
- In
Vec.Insert.c:461
:
// Clean up
VecDeinit(&vec);
VecDeinit(&vec2);
return result;
- In
Vec.Type.c:33
:
// Clean up
VecDeinit(&vec);
// Test with a struct type
- In
Vec.Type.c:44
:
// Clean up
VecDeinit(&test_vec);
return result;
- In
Vec.Type.c:61
:
// Clean up
VecDeinit(&vec);
// Note: We can't easily test the negative case (invalid vector)
- In
Vec.Memory.c:47
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Memory.c:92
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Memory.c:136
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Memory.c:174
:
// Clean up
VecDeinit(&vec);
return result;
BitVecPush(VecPtrAt(&vp, 0), true);
BitVecPrefixMatch(NULL, &vp);
VecDeinit(&vp);
return true;
}
BitVecPush(VecPtrAt(&vp, 0), true);
BitVecSuffixMatch(NULL, &vp);
VecDeinit(&vp);
return true;
}
// Clean up
ComplexItemDeinit(&item);
VecDeinit(&vec);
return result;
ComplexItemDeinit(&item2);
ComplexItemDeinit(&item3);
VecDeinit(&vec);
return result;
ComplexItemDeinit(&item2);
ComplexItemDeinit(&item3);
VecDeinit(&vec);
return result;
ComplexItemDeinit(&item2);
ComplexItemDeinit(&item3);
VecDeinit(&vec1);
VecDeinit(&vec2);
VecDeinit(&vec3);
ComplexItemDeinit(&item3);
VecDeinit(&vec1);
VecDeinit(&vec2);
VecDeinit(&vec3);
VecDeinit(&vec4);
VecDeinit(&vec1);
VecDeinit(&vec2);
VecDeinit(&vec3);
VecDeinit(&vec4);
VecDeinit(&vec2);
VecDeinit(&vec3);
VecDeinit(&vec4);
return result;
// Clean up
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec);
// Now test VecInsertRangeFastR in isolation
// Clean up
VecDeinit(&vec2);
return result;
// Clean up this vector
VecDeinit(&vec);
// Create a new vector for testing fast delete operations
// Clean up
VecDeinit(&vec);
// Test with an L-value index
// Clean up
VecDeinit(&vec);
return result;
// Test with large number of elements
VecDeinit(&vec);
vec = VecInitT(vec);
// Test with zero-capacity vector
VecDeinit(&vec);
vec = VecInitT(vec);
// Clean up
VecDeinit(&vec);
return result;
// Clean up the temporary vector
VecDeinit(&temp_vec);
return result;
// Clean up the vector
VecDeinit(&vec);
return result;
// Clean up the vector
VecDeinit(&vec);
return result;
// Clean up the vector
VecDeinit(&vec);
return result;
// Clean up
VecDeinit(&vec1);
VecDeinit(&vec2);
// Clean up
VecDeinit(&vec1);
VecDeinit(&vec2);
return result;
// Clean up the vector
VecDeinit(&vec);
return result;
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
// Should never reach here if bounds checking triggers
VecDeinit(&vec);
return false;
}
- In
Vec.Remove.c:70
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:118
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:166
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:203
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:239
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:315
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:361
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:397
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:432
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:508
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:585
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:622
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:657
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:736
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Remove.c:813
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Init.c:55
:
// Clean up
VecDeinit(&vec);
// Test with struct type
- In
Vec.Init.c:66
:
// Clean up
VecDeinit(&test_vec);
return result;
- In
Vec.Init.c:85
:
// Clean up
VecDeinit(&vec);
// Test with struct type and 16-byte alignment
- In
Vec.Init.c:96
:
// Clean up
VecDeinit(&test_vec);
return result;
- In
Vec.Init.c:115
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Init.c:134
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Init.c:246
:
// Clean up
VecDeinit(&src);
VecDeinit(&clone);
- In
Vec.Init.c:247
:
// Clean up
VecDeinit(&src);
VecDeinit(&clone);
return result;
- In
Vec.Ops.c:58
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Ops.c:110
:
// Clean up
VecDeinit(&vec);
return result;
- In
Vec.Ops.c:149
:
// Clean up
VecDeinit(&vec);
return result;
- In
Str.Ops.c:176
:
}
VecDeinit(&split);
// Test StrSplitToIters
- In
Str.Ops.c:202
:
}
VecDeinit(&iters);
StrDeinit(&s);
return result;
result = result && (match_idx == 1);
VecDeinit(&patterns);
BitVecDeinit(&source);
return result;
result = result && (match_idx == 1);
VecDeinit(&patterns);
BitVecDeinit(&source);
return result;