#ifndef PATH_H_INCLUDED #define PATH_H_INCLUDED #include #include class Grammar; class Path { public: Path() : source(nullptr), branchTaken(0) {;} Path(Grammar& s, int b) : source(&s), branchTaken(b) {;} // Path(const Path&) = delete; // Path(Path&&) = default; // Path& operator=(Path&&); Path& append(const Path&); Path& append(int); // Path&& copy() const; // private: Grammar *source; int branchTaken; // std::vector> paths; }; #endif