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);