Macros
klist.h File Reference
#include <stdlib.h>
#include <assert.h>
#include "nvim/memory.h"
#include "nvim/func_attr.h"

Go to the source code of this file.

Macros

#define KMEMPOOL_INIT(name, kmptype_t, kmpfree_f)
 
#define kmempool_t(name)   kmp_##name##_t
 
#define kmp_init(name)   kmp_init_##name()
 
#define kmp_destroy(name, mp)   kmp_destroy_##name(mp)
 
#define kmp_alloc(name, mp)   kmp_alloc_##name(mp)
 
#define kmp_free(name, mp, p)   kmp_free_##name(mp, p)
 
#define KLIST_INIT(name, kltype_t, kmpfree_t)
 
#define kliter_t(name)   kl1_##name
 
#define klist_t(name)   kl_##name##_t
 
#define kl_val(iter)   ((iter)->data)
 
#define kl_next(iter)   ((iter)->next)
 
#define kl_begin(kl)   ((kl)->head)
 
#define kl_end(kl)   ((kl)->tail)
 
#define kl_init(name)   kl_init_##name()
 
#define kl_destroy(name, kl)   kl_destroy_##name(kl)
 
#define kl_push(name, kl, d)   kl_push_##name(kl, d)
 
#define kl_shift_at(name, kl, node)   kl_shift_at_##name(kl, node)
 
#define kl_shift(name, kl)   kl_shift_at(name, kl, &kl->head)
 
#define kl_empty(kl)   ((kl)->size == 0)
 
#define kl_iter(name, kl, p)   kl_iter_at(name, kl, p, NULL)
 
#define kl_iter_at(name, kl, p, h)   for (kl1_##name **p = h ? h : &kl->head; *p != kl->tail; p = &(*p)->next)
 

Macro Definition Documentation

#define kl_begin (   kl)    ((kl)->head)
#define kl_destroy (   name,
  kl 
)    kl_destroy_##name(kl)
#define kl_empty (   kl)    ((kl)->size == 0)
#define kl_end (   kl)    ((kl)->tail)
#define kl_init (   name)    kl_init_##name()
#define kl_iter (   name,
  kl,
  p 
)    kl_iter_at(name, kl, p, NULL)
#define kl_iter_at (   name,
  kl,
  p,
 
)    for (kl1_##name **p = h ? h : &kl->head; *p != kl->tail; p = &(*p)->next)
#define kl_next (   iter)    ((iter)->next)
#define kl_push (   name,
  kl,
  d 
)    kl_push_##name(kl, d)
#define kl_shift (   name,
  kl 
)    kl_shift_at(name, kl, &kl->head)
#define kl_shift_at (   name,
  kl,
  node 
)    kl_shift_at_##name(kl, node)
#define kl_val (   iter)    ((iter)->data)
#define KLIST_INIT (   name,
  kltype_t,
  kmpfree_t 
)
#define klist_t (   name)    kl_##name##_t
#define kliter_t (   name)    kl1_##name
#define KMEMPOOL_INIT (   name,
  kmptype_t,
  kmpfree_f 
)
#define kmempool_t (   name)    kmp_##name##_t
#define kmp_alloc (   name,
  mp 
)    kmp_alloc_##name(mp)
#define kmp_destroy (   name,
  mp 
)    kmp_destroy_##name(mp)
#define kmp_free (   name,
  mp,
  p 
)    kmp_free_##name(mp, p)
#define kmp_init (   name)    kmp_init_##name()