Small, Fast S-Expression Library
|
00001 00037 #ifndef __SEXP_OPS_H__ 00038 #define __SEXP_OPS_H__ 00039 00048 #include "sexp.h" 00049 00050 #ifdef __cplusplus 00051 extern "C" { 00052 #endif 00053 00054 /*========*/ 00055 /* MACROS */ 00056 /*========*/ 00057 00061 #define hd_sexp(s) ((s)->list) 00062 00066 #define tl_sexp(s) ((s)->list->next) 00067 00071 #define next_sexp(s) ((s)->next) 00072 00077 #define reset_pcont(c) ((c)->lastPos = NULL) 00078 00089 sexp_t *find_sexp(const char *name, sexp_t *start); 00090 00104 sexp_t *bfs_find_sexp(const char *name, sexp_t *start); 00105 00116 int sexp_list_length(const sexp_t *sx); 00117 00127 sexp_t *copy_sexp(const sexp_t *sx); 00128 00129 #ifdef __cplusplus 00130 } 00131 #endif 00132 00133 #endif /* __SEXP_OPS_H__ */