25 #include <aerospike/as_bytes.h>
26 #include <aerospike/as_integer.h>
27 #include <aerospike/as_iterator.h>
28 #include <aerospike/as_string.h>
29 #include <aerospike/as_util.h>
30 #include <aerospike/as_val.h>
39 union as_list_iterator_u;
41 struct as_list_hooks_s;
64 typedef struct as_list_s {
81 const struct as_list_hooks_s * hooks;
88 typedef struct as_list_hooks_s {
101 bool (* destroy)(
as_list * list);
114 uint32_t (* hashcode)(
const as_list * list);
123 uint32_t (* size)(
const as_list * list);
137 as_val * (* get)(
const as_list * list,
const uint32_t index);
147 int64_t (* get_int64)(
const as_list * list,
const uint32_t index);
157 char * (* get_str)(
const as_list * list,
const uint32_t index);
172 int (* set)(
as_list * list,
const uint32_t index,
as_val * value);
183 int (* set_int64)(
as_list * list,
const uint32_t index, int64_t value);
194 int (* set_str)(
as_list * list,
const uint32_t index,
const char * value);
218 int (* append_int64)(
as_list * list, int64_t value);
228 int (* append_str)(
as_list * list,
const char * value);
252 int (* prepend_int64)(
as_list * list, int64_t value);
262 int (* prepend_str)(
as_list * list,
const char * value);
329 union as_list_iterator_u * (* iterator_new)(
const as_list * list);
338 union as_list_iterator_u * (* iterator_init)(
const as_list * list,
union as_list_iterator_u * it);
597 return (
struct as_map_s *) (v && v->
type ==
AS_MAP ? v : NULL);
974 return as_util_hook(
foreach,
false, list, callback, udata);
int as_list_set_list(as_list *list, const uint32_t i, as_list *value)
int as_list_set_string(as_list *list, const uint32_t i, as_string *value)
as_bytes * as_bytes_fromval(const as_val *v)
as_bytes * as_list_get_bytes(const as_list *list, const uint32_t i)
int as_list_set_str(as_list *list, const uint32_t i, const char *value)
int as_list_append_int64(as_list *list, int64_t value)
as_val * as_list_head(const as_list *list)
int as_list_set_bytes(as_list *list, const uint32_t i, as_bytes *value)
int as_list_append_list(as_list *list, as_list *value)
as_list * as_list_drop(const as_list *list, uint32_t n)
#define as_val_destroy(__v)
uint32_t as_list_size(as_list *list)
int as_list_append_str(as_list *list, const char *value)
uint32_t as_list_val_hashcode(const as_val *v)
char * as_list_get_str(const as_list *list, const uint32_t i)
int as_list_set(as_list *list, const uint32_t i, as_val *value)
as_string * as_string_fromval(const as_val *v)
int as_list_prepend_bytes(as_list *list, as_bytes *value)
char * as_list_val_tostring(const as_val *v)
int as_list_prepend(as_list *list, as_val *value)
int as_list_prepend_map(as_list *list, struct as_map_s *value)
as_list * as_list_init(as_list *list, void *data, const as_list_hooks *hooks)
as_list * as_list_cons(as_list *list, bool free, void *data, const as_list_hooks *hooks)
as_integer * as_integer_fromval(const as_val *v)
int as_list_prepend_list(as_list *list, as_list *value)
int as_list_set_map(as_list *list, const uint32_t i, struct as_map_s *value)
int as_list_append_integer(as_list *list, as_integer *value)
#define as_util_fromval(object, type_id, type)
as_list * as_list_take(const as_list *list, uint32_t n)
as_list * as_list_get_list(const as_list *list, const uint32_t i)
as_val * as_list_toval(as_list *list)
int as_list_append_bytes(as_list *list, as_bytes *value)
as_list * as_list_tail(const as_list *list)
int64_t as_list_get_int64(const as_list *list, const uint32_t i)
int as_list_set_integer(as_list *list, const uint32_t i, as_integer *value)
int as_list_append(as_list *list, as_val *value)
as_val * as_list_get(const as_list *list, const uint32_t i)
int as_list_prepend_str(as_list *list, const char *value)
void as_list_val_destroy(as_val *v)
int as_list_prepend_integer(as_list *list, as_integer *value)
int as_list_prepend_string(as_list *list, as_string *value)
bool(* as_list_foreach_callback)(as_val *value, void *udata)
int as_list_append_map(as_list *list, struct as_map_s *value)
as_list * as_list_new(void *data, const as_list_hooks *hooks)
int as_list_set_int64(as_list *list, const uint32_t i, int64_t value)
union as_list_iterator_u * as_list_iterator_init(union as_list_iterator_u *it, const as_list *list)
as_list * as_list_fromval(as_val *v)
union as_list_iterator_u * as_list_iterator_new(const as_list *list)
uint32_t as_list_hashcode(as_list *list)
as_string * as_list_get_string(const as_list *list, const uint32_t i)
bool as_list_foreach(const as_list *list, as_list_foreach_callback callback, void *udata)
#define as_util_hook(hook, default, object, args...)
int as_list_append_string(as_list *list, as_string *value)
int as_list_prepend_int64(as_list *list, int64_t value)
struct as_map_s * as_list_get_map(const as_list *list, const uint32_t i)
void as_list_destroy(as_list *list)
as_integer * as_list_get_integer(const as_list *list, const uint32_t i)