// file : odb/parser.hxx // copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC // license : GNU GPL v3; see accompanying LICENSE file #ifndef ODB_PARSER_HXX #define ODB_PARSER_HXX #include #include // std::unique_ptr #include #include #include class parser { public: class failed {}; ~parser (); parser (options const&, loc_pragmas&, ns_loc_pragmas&, decl_pragmas&); std::unique_ptr parse (tree global_scope, semantics::path const& main_file); private: parser (parser const&); parser& operator= (parser const&); private: class impl; std::unique_ptr impl_; }; #endif // ODB_PARSER_HXX