18 #define impl_afw_list_get_entry_meta afw_list_impl_get_entry_meta
19 #define impl_afw_list_get_next_entry_meta afw_list_impl_get_next_entry_meta
23 #define AFW_IMPLEMENTATION_ID "afw_list_const_array_of_values"
60 for (o = objects, v = values, i = 0; i < count; o++, v++, i++) {
81 for (o = objects; *o; count++, o++);
101 self->pub.inf = &impl_afw_list_inf;
103 self->values = values;
104 self->end_of_values = &values[count];
123 for (count = 0, v = values; *v; count++, v++);
155 return self->end_of_values -
self->values;
181 const void * *
internal,
190 count =
self->end_of_values -
self->values;
192 value = (i >= count) ? NULL : self->values[i];
228 count =
self->end_of_values -
self->values;
230 value = (i >= count) ? NULL : self->values[i];
246 const void * *
internal,
261 ((*(
const afw_value_t *
const *
const *)iterator) + 1);
264 values = *(
const afw_value_t *
const *
const *)iterator;
266 if (!values || values >= self->end_of_values) {
307 ((*(
const afw_value_t *
const *
const *)iterator) + 1);
310 values = *(
const afw_value_t *
const *
const *)iterator;
312 if (!values || values >= self->end_of_values) {
AFW_DEFINE(const afw_object_t *)
Adaptive Framework Core Internal.
struct impl_afw_list_const_array_of_values_self_s impl_afw_list_const_array_of_values_self_t
Interface afw_interface implementation declares.
afw_value_create_object(const afw_object_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type object value.
struct afw_iterator_s afw_iterator_t
apr_size_t afw_size_t
size_t.
apr_int64_t afw_integer_t
typedef for big signed int.
impl_afw_list_get_next_value(const afw_list_t *instance, const afw_iterator_t **iterator, const afw_pool_t *p, afw_xctx_t *xctx)
impl_afw_list_get_entry_internal(const afw_list_t *instance, afw_integer_t index, const afw_data_type_t **data_type, const void **internal, afw_xctx_t *xctx)
impl_afw_list_get_data_type(const afw_list_t *instance, afw_xctx_t *xctx)
impl_afw_list_release(const afw_list_t *instance, afw_xctx_t *xctx)
impl_afw_list_get_next_internal(const afw_list_t *instance, const afw_iterator_t **iterator, const afw_data_type_t **data_type, const void **internal, afw_xctx_t *xctx)
impl_afw_list_get_setter(const afw_list_t *instance, afw_xctx_t *xctx)
impl_afw_list_get_count(const afw_list_t *instance, afw_xctx_t *xctx)
impl_afw_list_get_entry_value(const afw_list_t *instance, afw_integer_t index, const afw_pool_t *p, afw_xctx_t *xctx)
afw_list_const_create_null_terminated_array_of_objects(const afw_object_t *const *objects, const afw_pool_t *p, afw_xctx_t *xctx)
Create an immutable list from NULL terminated array of objects.
afw_list_const_create_null_terminated_array_of_values(const afw_value_t *const *values, const afw_pool_t *p, afw_xctx_t *xctx)
Create an immutable list from NULL terminated array of values.
afw_list_const_create_array_of_objects(const afw_object_t *const *objects, afw_size_t count, const afw_pool_t *p, afw_xctx_t *xctx)
Create an immutable list from an array of objects.
afw_list_const_create_array_of_values(const afw_value_t *const *values, afw_size_t count, const afw_pool_t *p, afw_xctx_t *xctx)
Create an immutable list from an array of values.
#define afw_pool_malloc(instance, size, xctx)
Call method malloc of interface afw_pool.
#define afw_pool_calloc_type(instance, type, xctx)
Macro to allocate cleared memory to hold type in pool.
afw_size_t afw_safe_cast_integer_to_size(afw_integer_t integer, afw_xctx_t *xctx)
Safely cast afw_integer_t to afw_size_t.
#define afw_value_get_data_type(instance, xctx)
Call method get_data_type of interface afw_value.
#define AFW_VALUE_INTERNAL(_VALUE_)
Macro to get const void * of the internal of a value.
Interface afw_data_type public struct.
Interface afw_list public struct.
Interface afw_list_setter public struct.
Interface afw_object public struct.
Interface afw_pool public struct.
Interface afw_value public struct.
Interface afw_xctx public struct.