X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcpp.h;fp=src%2Fcpp.h;h=5ace4bfd2a76c4c8fcabfa60c71bdc0a81eb8be7;hp=49bdd31ed2b6a5392facfe67b5ab6822aae3b213;hb=f24325648c601d4b0835074f271072f4832e4478;hpb=4cf4913076ea959f298caefb4b9d60510c1bf48b diff --git a/src/cpp.h b/src/cpp.h index 49bdd31..5ace4bf 100644 --- a/src/cpp.h +++ b/src/cpp.h @@ -36,7 +36,10 @@ struct psi_cpp { HashTable defs; HashTable once; struct psi_parser *parser; - struct psi_plist *tokens; + struct { + struct psi_plist *iter; + struct psi_plist *next; + } tokens; const char *search; size_t index; unsigned level; @@ -72,10 +75,14 @@ void psi_cpp_tokiter_next(struct psi_cpp *cpp); void psi_cpp_tokiter_prev(struct psi_cpp *cpp); bool psi_cpp_tokiter_valid(struct psi_cpp *cpp); bool psi_cpp_tokiter_del_cur(struct psi_cpp *cpp, bool free_token); +bool psi_cpp_tokiter_del_prev(struct psi_cpp *cpp, bool free_token); bool psi_cpp_tokiter_del_range(struct psi_cpp *cpp, size_t offset, size_t num_eles, bool free_tokens); -bool psi_cpp_tokiter_ins_cur(struct psi_cpp *cpp, struct psi_token *tok); -bool psi_cpp_tokiter_ins_range(struct psi_cpp *cpp, size_t offset, +bool psi_cpp_tokiter_add(struct psi_cpp *cpp, struct psi_token *tok); +bool psi_cpp_tokiter_add_cur(struct psi_cpp *cpp); +bool psi_cpp_tokiter_add_range(struct psi_cpp *cpp, + size_t num_eles, void **eles); +bool psi_cpp_tokiter_ins_range(struct psi_cpp *cpp, size_t num_eles, void **eles); bool psi_cpp_tokiter_defined(struct psi_cpp *cpp); bool psi_cpp_tokiter_expand(struct psi_cpp *cpp);