34 union as_list_iterator_u;
36 struct as_list_hooks_s;
59 typedef struct as_list_s {
76 const struct as_list_hooks_s *
hooks;
83 typedef struct as_list_hooks_s {
142 int64_t (* get_int64)(
const as_list * list,
const uint32_t index);
152 char * (* get_str)(
const as_list * list,
const uint32_t index);
178 int (* set_int64)(
as_list * list,
const uint32_t index, int64_t value);
189 int (* set_str)(
as_list * list,
const uint32_t index,
const char * value);
213 int (* append_int64)(
as_list * list, int64_t value);
223 int (* append_str)(
as_list * list,
const char * value);
247 int (* prepend_int64)(
as_list * list, int64_t value);
257 int (* prepend_str)(
as_list * list,
const char * value);
324 union as_list_iterator_u * (* iterator_new)(
const as_list * list);
333 union as_list_iterator_u * (* iterator_init)(
const as_list * list,
union as_list_iterator_u * it);
592 return (
struct as_map_s *) (v && v->
type ==
AS_MAP ? v : NULL);
969 return as_util_hook(
foreach,
false, list, callback, udata);
static void as_list_destroy(as_list *list)
static as_integer * as_integer_fromval(const as_val *v)
static as_string * as_list_get_string(const as_list *list, const uint32_t i)
static int as_list_append_string(as_list *list, as_string *value)
static int as_list_set_integer(as_list *list, const uint32_t i, as_integer *value)
static bool as_list_foreach(const as_list *list, as_list_foreach_callback callback, void *udata)
static struct as_map_s * as_list_get_map(const as_list *list, const uint32_t i)
static int as_list_prepend_string(as_list *list, as_string *value)
static char * as_list_get_str(const as_list *list, const uint32_t i)
static int as_list_prepend_list(as_list *list, as_list *value)
#define as_util_fromval(object, type_id, type)
struct as_list_hooks_s * hooks
static int as_list_set_str(as_list *list, const uint32_t i, const char *value)
static int as_list_set_bytes(as_list *list, const uint32_t i, as_bytes *value)
static int64_t as_list_get_int64(const as_list *list, const uint32_t i)
static union as_list_iterator_u * as_list_iterator_init(union as_list_iterator_u *it, const as_list *list)
bool(* as_list_foreach_callback)(as_val *value, void *udata)
static int as_list_append(as_list *list, as_val *value)
static int as_list_prepend(as_list *list, as_val *value)
static as_list * as_list_tail(const as_list *list)
static int as_list_set_list(as_list *list, const uint32_t i, as_list *value)
#define as_util_hook(hook, default, object, args...)
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)
static as_val * as_list_toval(as_list *list)
static int as_list_append_int64(as_list *list, int64_t value)
static int as_list_append_str(as_list *list, const char *value)
static int as_list_set_map(as_list *list, const uint32_t i, struct as_map_s *value)
static int as_list_append_list(as_list *list, as_list *value)
static union as_list_iterator_u * as_list_iterator_new(const as_list *list)
static as_bytes * as_list_get_bytes(const as_list *list, const uint32_t i)
static as_val * as_list_head(const as_list *list)
static uint32_t as_list_size(as_list *list)
static int as_list_set_int64(as_list *list, const uint32_t i, int64_t value)
static int as_list_prepend_bytes(as_list *list, as_bytes *value)
static int as_list_prepend_map(as_list *list, struct as_map_s *value)
static as_bytes * as_bytes_fromval(const as_val *v)
static int as_list_append_bytes(as_list *list, as_bytes *value)
static int as_list_append_integer(as_list *list, as_integer *value)
static uint32_t as_list_hashcode(as_list *list)
static int as_list_prepend_str(as_list *list, const char *value)
static as_string * as_string_fromval(const as_val *v)
static int as_list_set_string(as_list *list, const uint32_t i, as_string *value)
static as_list * as_list_fromval(as_val *v)
static int as_list_prepend_int64(as_list *list, int64_t value)
static as_list * as_list_drop(const as_list *list, uint32_t n)
as_list * as_list_new(void *data, const as_list_hooks *hooks)
#define as_val_destroy(__v)
uint32_t as_list_val_hashcode(const as_val *v)
static as_integer * as_list_get_integer(const as_list *list, const uint32_t i)
static int as_list_append_map(as_list *list, struct as_map_s *value)
char * as_list_val_tostring(const as_val *v)
static int as_list_set(as_list *list, const uint32_t i, as_val *value)
void as_list_val_destroy(as_val *v)
static as_list * as_list_take(const as_list *list, uint32_t n)
static as_val * as_list_get(const as_list *list, const uint32_t i)
static int as_list_prepend_integer(as_list *list, as_integer *value)
static as_list * as_list_get_list(const as_list *list, const uint32_t i)