#ifndef __PDDL_PARSE__CONTEXT_H #define __PDDL_PARSE__CONTEXT_H #include #include namespace pddl { //////////////////////////////////////////////////////////////////////////////////////////////////// // // Context // //////////////////////////////////////////////////////////////////////////////////////////////////// struct Context { constexpr static const char *auxiliaryPrefix() { return "__plasp_"; } // TODO: replace std::string with char * using WarningCallback = std::function; Context() = default; ~Context() = default; explicit Context(Tokenizer &&tokenizer, WarningCallback warningCallback) : tokenizer{std::move(tokenizer)}, warningCallback{warningCallback} { } Context(const Context &other) = delete; Context &operator=(const Context &other) = delete; Context(Context &&other) = default; Context &operator=(Context &&other) = default; Tokenizer tokenizer; WarningCallback warningCallback; }; //////////////////////////////////////////////////////////////////////////////////////////////////// } #endif