# define PSI_CPP_DEBUG 0
#endif
-struct psi_cpp_tokiter {
-};
-
struct psi_cpp {
- HashTable *defs;
+ HashTable defs;
+ HashTable once;
struct psi_parser *parser;
struct psi_plist *tokens;
const char *search;
#define PSI_CPP_INCLUDE_NEXT 0x1
#define PSI_CPP_INCLUDE_ONCE 0x2
-bool psi_cpp_include(struct psi_cpp *cpp, const char *file, unsigned flags);
+bool psi_cpp_include(struct psi_cpp *cpp, const struct psi_token *file, unsigned flags);
void psi_cpp_tokiter_reset(struct psi_cpp *cpp);
bool psi_cpp_tokiter_seek(struct psi_cpp *cpp, size_t index);
+#if PSI_CPP_DEBUG > 1
void psi_cpp_tokiter_dump(int fd, struct psi_cpp *cpp);
+#endif
struct psi_token *psi_cpp_tokiter_current(struct psi_cpp *cpp);
size_t psi_cpp_tokiter_index(struct psi_cpp *cpp);
void psi_cpp_tokiter_next(struct psi_cpp *cpp);