ValidateMap
Description
Validate whether a given Map object is valid. Aborts if provided map is uninitialized or corrupted.
Parameters
| Name | Direction | Description |
|---|---|---|
m |
in | Pointer to Map object to validate. |
Success
Continue execution, meaning given map is most probably valid.
Failure
abort
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Map.c:449:
size hash_offset
) {
ValidateMap(map);
clear_map(map, entry_size, key_offset, key_size, value_offset, value_size, hash_offset);- In
Map.c:470:
size idx;
ValidateMap(map);
for (idx = 0; idx < map->capacity; idx++) {- In
Map.c:507:
size new_capacity;
size idx;
ValidateMap(map);
validate_map_policy(&policy);- In
Map.c:617:
size target_capacity;
ValidateMap(map);
target_capacity = map->policy.next_capacity(map->length, map->capacity, map->tombstones, n);- In
Map.c:640:
u64 hash;
ValidateMap(map);
if (!map->capacity) {- In
Map.c:653:
bool map_contains(GenericMap *map, const void *key, size entry_size, size key_offset, size key_size, size hash_offset) {
ValidateMap(map);
return map->capacity && (map_find_index(map, key, entry_size, key_offset, key_size, hash_offset) < map->capacity);- In
Map.c:670:
size idx;
ValidateMap(map);
if (!map->value_compare) {- In
Map.c:695:
size count = 0;
ValidateMap(map);
for (idx = 0; idx < map->capacity; idx++) {- In
Map.c:730:
bool previous_seen = false;
ValidateMap(map);
if (!map->capacity || previous_index >= map->capacity) {- In
Map.c:778:
size count = 0;
ValidateMap(map);
if (!map->capacity) {- In
Map.c:804:
size idx;
ValidateMap(map);
if (!map->capacity) {- In
Map.c:832:
void *value_ptr = NULL;
ValidateMap(map);
if (!key || !default_value || !out_value) {- In
Map.c:895:
size idx;
ValidateMap(map);
if (cursor.__index == (size)-1) {- In
Map.c:906:
void *map_value_ptr_from_cursor(GenericMap *map, MapValueCursor cursor, size entry_size, size value_offset) {
ValidateMap(map);
if (cursor.__index == (size)-1 || cursor.__index >= map->capacity ||- In
Map.c:931:
u64 hash;
ValidateMap(map);
if (map->capacity == 0) {- In
Map.c:1049:
u64 hash;
ValidateMap(map);
existing_idx = map_find_index(map, key, entry_size, key_offset, key_size, hash_offset);- In
Map.c:1113:
void *temp_value;
ValidateMap(map);
if (!map->capacity) {- In
Map.c:1197:
size idx;
ValidateMap(map);
if (!map->capacity) {- In
Map.c:1225:
size idx;
ValidateMap(map);
if (!map->value_compare) {- In
Map.c:1260:
size removed = 0;
ValidateMap(map);
if (!map->capacity) {- In
Map.c:1291:
size removed = 0;
ValidateMap(map);
if (!predicate) {- In
Map.c:1326:
size removed = 0;
ValidateMap(map);
if (!predicate) {- In
KvConfig.c:279:
}
ValidateMap(cfg);
char c;- In
Map.Deadend.c:23:
static bool test_validate_uninitialized_map_fails(void) {
WriteFmt("Testing ValidateMap on uninitialized map\n");
Map(int, int) map = {0};- In
Map.Deadend.c:26:
Map(int, int) map = {0};
ValidateMap(&map);
return false;- In
Ops.h:40:
#define MapSwap(lhs, rhs) \
do { \
ValidateMap(lhs); \
ValidateMap(rhs); \
TYPE_OF(*(lhs)) UNPL(tmp) = *(lhs); \- In
Ops.h:41:
do { \
ValidateMap(lhs); \
ValidateMap(rhs); \
TYPE_OF(*(lhs)) UNPL(tmp) = *(lhs); \
*(lhs) = *(rhs); \
- In
Foreach.h:32:
#define MapForeachPairPtr(m, key_ptr, value_ptr) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (size UNPL(slot) = 0; UNPL(slot) < UNPL(pm)->capacity; UNPL(slot)++) \
if (map_slot_occupied(UNPL(pm), UNPL(slot))) \- In
Foreach.h:60:
#define MapForeachPair(m, key_var, value_var) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (size UNPL(slot) = 0; UNPL(slot) < UNPL(pm)->capacity; UNPL(slot)++) \
if (map_slot_occupied(UNPL(pm), UNPL(slot))) \- In
Foreach.h:87:
#define MapForeachKey(m, key_var) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (size UNPL(slot) = 0; UNPL(slot) < UNPL(pm)->capacity; UNPL(slot)++) \
if (map_slot_occupied(UNPL(pm), UNPL(slot)) && (map_find_index( \- In
Foreach.h:118:
#define MapForeachValue(m, value_var) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (size UNPL(slot) = 0; UNPL(slot) < UNPL(pm)->capacity; UNPL(slot)++) \
if (map_slot_occupied(UNPL(pm), UNPL(slot))) \- In
Foreach.h:143:
#define MapForeachValuePtr(m, value_ptr) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (size UNPL(slot) = 0; UNPL(slot) < UNPL(pm)->capacity; UNPL(slot)++) \
if (map_slot_occupied(UNPL(pm), UNPL(slot))) \- In
Foreach.h:171:
#define MapForeachValueForKey(m, lookup_key, value_var) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (bool UNPL(_key_once) = true; UNPL(_key_once); UNPL(_key_once) = false) \
for (MAP_KEY_TYPE(UNPL(pm)) UNPL(find_key) = (lookup_key); UNPL(_key_once); UNPL(_key_once) = false) \- In
Foreach.h:203:
#define MapForeachValuePtrForKey(m, lookup_key, value_ptr) \
for (TYPE_OF(m) UNPL(pm) = (m); UNPL(pm); UNPL(pm) = NULL) \
if ((ValidateMap(UNPL(pm)), 1) && UNPL(pm)->length > 0) \
for (bool UNPL(_key_once) = true; UNPL(_key_once); UNPL(_key_once) = false) \
for (MAP_KEY_TYPE(UNPL(pm)) UNPL(find_key) = (lookup_key); UNPL(_key_once); UNPL(_key_once) = false) \- In
Insert.h:194:
///
#define MapInsertL(m, in_key, in_value) \
(ValidateMap(m), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(in_key), MAP_KEY_TYPE(m)), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(in_value), MAP_VALUE_TYPE(m)), \- In
Insert.h:226:
///
#define MapInsertR(m, in_key, in_value) \
(ValidateMap(m), \
CHECK_TYPE_CONVERTIBLE(MAP_KEY_TYPE(m), in_key), \
CHECK_TYPE_CONVERTIBLE(MAP_VALUE_TYPE(m), in_value), \- In
Insert.h:284:
///
#define MapSetFirstL(m, in_key, in_value) \
(ValidateMap(m), \
CHECK_TYPE_CONVERTIBLE(MAP_KEY_TYPE(m), in_key), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(in_value), MAP_VALUE_TYPE(m)), \- In
Insert.h:311:
///
#define MapSetFirstR(m, in_key, in_value) \
(ValidateMap(m), \
CHECK_TYPE_CONVERTIBLE(MAP_KEY_TYPE(m), in_key), \
CHECK_TYPE_CONVERTIBLE(MAP_VALUE_TYPE(m), in_value), \- In
Insert.h:348:
///
#define MapSetOnlyL(m, in_key, in_value) \
(ValidateMap(m), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(in_key), MAP_KEY_TYPE(m)), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(in_value), MAP_VALUE_TYPE(m)), \- In
Insert.h:373:
///
#define MapSetOnlyR(m, in_key, in_value) \
(ValidateMap(m), \
CHECK_TYPE_CONVERTIBLE(MAP_KEY_TYPE(m), in_key), \
CHECK_TYPE_CONVERTIBLE(MAP_VALUE_TYPE(m), in_value), \- In
Insert.h:436:
///
#define MapEnsurePtr(m, lookup_key, default_value) \
(ValidateMap(m), \
CHECK_TYPE_CONVERTIBLE(MAP_KEY_TYPE(m), lookup_key), \
CHECK_TYPE_CONVERTIBLE(MAP_VALUE_TYPE(m), default_value), \
Last updated on