Small, Fast S-Expression Library
faststack.h
Go to the documentation of this file.
1
42#ifndef __FASTSTACK_H__
43#define __FASTSTACK_H__
44
50typedef struct stack_level {
58
64
69 void *data;
71
94
97/* this is for C++ */
98#ifdef __cplusplus
99extern "C" {
100#endif
101
107
116
124 faststack_t *push(faststack_t *cur_stack, void *data);
125
135
136/* this is for C++ */
137#ifdef __cplusplus
138}
139#endif
140
144#define top_data(s) (s->top->data)
145
150#define empty_stack(s) (s->top == NULL)
151
152#endif /* __FASTSTACK_H__ */
faststack_t * push(faststack_t *cur_stack, void *data)
struct stack_level stack_lvl_t
stack_lvl_t * pop(faststack_t *s)
void destroy_stack(faststack_t *s)
struct stack_wrapper faststack_t
faststack_t * make_stack()
Definition faststack.h:50
struct stack_level * above
Definition faststack.h:57
struct stack_level * below
Definition faststack.h:63
void * data
Definition faststack.h:69
Definition faststack.h:78
stack_lvl_t * top
Definition faststack.h:82
int height
Definition faststack.h:92
stack_lvl_t * bottom
Definition faststack.h:87