Vector reword + map

This commit is contained in:
2026-09-12 12:54:20 -05:00
parent e99d393df2
commit 71264d0f14
9 changed files with 1882 additions and 216 deletions
+43 -48
View File
@@ -1,3 +1,4 @@
#include "malunal/assert.h"
#include "malunal/container.h"
const uuid_t UUID_CONTAINER_T = {
@@ -32,17 +33,15 @@ const error_domain_t ERROR_DOMAIN_CONTAINER_T = {
.name = "malunal.container.error"
};
error_t
container_allocator(
container_iptr_t container,
allocator_mptr_t* out
) {
return container != null
? container->vtable->allocator(container, out)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(out != null);
return container->vtable->allocator(container, out);
}
error_t
@@ -50,12 +49,9 @@ container_stride(
container_iptr_t container,
malunal_size_t* out
) {
return container != null
? container->vtable->stride(container, out)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(out != null);
return container->vtable->stride(container, out);
}
error_t
@@ -63,12 +59,9 @@ container_count(
container_iptr_t container,
malunal_size_t* out
) {
return container != null
? container->vtable->count(container, out)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(out != null);
return container->vtable->count(container, out);
}
error_t
@@ -76,12 +69,27 @@ container_capacity(
container_iptr_t container,
malunal_size_t* out
) {
return container != null
? container->vtable->capacity(container, out)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(out != null);
return container->vtable->capacity(container, out);
}
error_t
container_resize(
container_mptr_t container,
malunal_size_t capacity
) {
assert(container != null);
return container->vtable->resize(container, capacity);
}
error_t
container_reserve(
container_mptr_t container,
malunal_size_t capacity
) {
assert(container != null);
return container->vtable->reserve(container, capacity);
}
error_t
@@ -89,12 +97,9 @@ container_append(
container_mptr_t container,
malunal_iptr_t element
) {
return container != null
? container->vtable->append(container, element)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(element != null);
return container->vtable->append(container, element);
}
error_t
@@ -102,12 +107,9 @@ container_remove(
container_mptr_t container,
malunal_iptr_t element
) {
return container != null
? container->vtable->remove(container, element)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(element != null);
return container->vtable->remove(container, element);
}
error_t
@@ -115,22 +117,15 @@ container_contains(
container_iptr_t container,
malunal_iptr_t element
) {
return container != null
? container->vtable->contains(container, element)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
assert(element != null);
return container->vtable->contains(container, element);
}
error_t
container_clear(
container_mptr_t container
) {
return container != null
? container->vtable->clear(container)
: (error_t) {
.domain = &ERROR_DOMAIN_CONTAINER_T,
.code = CONTAINER_ERROR_NULL_CONTAINER
};
assert(container != null);
return container->vtable->clear(container);
}