17#ifndef POLAR_SPARSE_ARRAY_H
18#define POLAR_SPARSE_ARRAY_H
27 void *value_element_empty;
28 intptr_t idx_logical_max;
37#define POLAR_TYPE_SPARSE_ARRAY ( polar_sparse_array_get_type() )
39#define POLAR_SPARSE_ARRAY(inst) ( POLAR_INTERNAL_TYPE_CHECK_INSTANCE_CAST((inst), POLAR_TYPE_SPARSE_ARRAY, polar_sparse_array) )
40#define POLAR_IS_SPARSE_ARRAY(inst) ( POLAR_INTERNAL_TYPE_CHECK_INSTANCE_TYPE((inst), POLAR_TYPE_SPARSE_ARRAY) )
41#define POLAR_SPARSE_ARRAY_CLASS(klass) ( POLAR_INTERNAL_TYPE_CHECK_CLASS_CAST((klass), POLAR_TYPE_SPARSE_ARRAY, polar_sparse_array_class) )
42#define POLAR_IS_SPARSE_ARRAY_CLASS(klass) ( POLAR_INTERNAL_TYPE_CHECK_CLASS_TYPE((klass), POLAR_TYPE_SPARSE_ARRAY) )
43#define POLAR_SPARSE_ARRAY_GET_CLASS(inst) ( POLAR_INTERNAL_TYPE_INSTANCE_GET_CLASS((inst), POLAR_TYPE_SPARSE_ARRAY, polar_sparse_array_class) )
45POLAR_FUNCTION_INTERNAL OBJC_FUNCTION_CONSTANT polar_internal_type
46polar_sparse_array_get_type(
void );
49polar_sparse_array_new(
void *value_element_empty );
51POLAR_FUNCTION_INTERNAL OBJC_FUNCTION_HOTSPOT
void *
54POLAR_FUNCTION_INTERNAL
void
55polar_sparse_array_set_element(
polar_sparse_array **p_array_target, intptr_t idx_logical,
void *value_new );
57POLAR_FUNCTION_INTERNAL BOOL
58polar_sparse_array_set_element_if_empty(
polar_sparse_array **p_array_target, intptr_t idx_logical,
void *value_new );
61polar_sparse_array_swap_element(
polar_sparse_array **p_array_target, intptr_t idx_logical,
void *value_new )
65 assert( p_array_target != NULL );
66 assert( POLAR_IS_SPARSE_ARRAY(*p_array_target) );
67 assert( idx_logical >= 0 );
69 result = polar_sparse_array_get_element(*p_array_target, idx_logical);
70 polar_sparse_array_set_element(p_array_target, idx_logical, value_new);
78 assert( POLAR_IS_SPARSE_ARRAY(self) );
79 assert( idx_logical >= 0 );
81 return ( polar_sparse_array_get_element(self, idx_logical) == self->value_element_empty );
Definition polar-btree.h:33
Definition polar-btree.h:25
Definition polar-sparse-array.h:33
Definition polar-sparse-array-page.h:34
Definition polar-sparse-array.h:25