// file : examples/cxx/tree/streaming/parser.hxx // author : Boris Kolpackov // copyright : not copyrighted - public domain #ifndef PARSER_HXX #define PARSER_HXX #include #include #include // std::auto_ptr #include #include class parser_impl; class parser { public: ~parser (); parser (); // The start function returns a "carcase" of the complete document. That // is, the root element with all the attributes but without any content. // xsd::cxx::xml::dom::auto_ptr start (std::istream& is, const std::string& id, bool validate); // The next function returns next first-level element with all its // attributes and content or 0 if no more available. // xsd::cxx::xml::dom::auto_ptr next (); private: parser (const parser&); parser& operator= (const parser&); private: std::auto_ptr impl_; }; #endif // PARSER_HXX