Vector reword + map
This commit is contained in:
+43
-48
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user