diff options
Diffstat (limited to 'libxsd-frontend/xsd-frontend/parser.hxx')
-rw-r--r-- | libxsd-frontend/xsd-frontend/parser.hxx | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/libxsd-frontend/xsd-frontend/parser.hxx b/libxsd-frontend/xsd-frontend/parser.hxx index ac0ff4d..746aa97 100644 --- a/libxsd-frontend/xsd-frontend/parser.hxx +++ b/libxsd-frontend/xsd-frontend/parser.hxx @@ -1,20 +1,18 @@ // file : xsd-frontend/parser.hxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC +// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #ifndef XSD_FRONTEND_PARSER_HXX #define XSD_FRONTEND_PARSER_HXX -#include <cult/types.hxx> -#include <cult/containers/set.hxx> +#include <set> +#include <memory> // std::auto_ptr +#include <xsd-frontend/types.hxx> #include <xsd-frontend/semantic-graph/schema.hxx> namespace XSDFrontend { - using namespace Cult::Types; - struct InvalidSchema {}; class LocationTranslator @@ -30,46 +28,50 @@ namespace XSDFrontend // Set of disabled warning IDs. Special ID "all" disables all // warnings. // - typedef Cult::Containers::Set<NarrowString> WarningSet; + typedef std::set<NarrowString> WarningSet; - class Parser: public NonCopyable + class Parser { public: ~Parser (); - Parser (Boolean proper_restriction, - Boolean multiple_imports, - Boolean full_schema_check); + Parser (bool proper_restriction, + bool multiple_imports, + bool full_schema_check); - Parser (Boolean proper_restriction, - Boolean multiple_imports, - Boolean full_schema_check, + Parser (bool proper_restriction, + bool multiple_imports, + bool full_schema_check, LocationTranslator&, const WarningSet& disabled); + private: + Parser (Parser const&); + Parser& operator= (Parser const&); + public: // Parse a schema file. Throws InvalidSchema in case of a failure. // - Evptr<SemanticGraph::Schema> + std::auto_ptr<SemanticGraph::Schema> parse (SemanticGraph::Path const&); // Parse a number of schema files all into one semantic graph. // Each schema file is imported from an unnamed root translation // unit. Throws InvalidSchema in case of a failure. // - Evptr<SemanticGraph::Schema> + std::auto_ptr<SemanticGraph::Schema> parse (SemanticGraph::Paths const&); // Returns a schema graph that corresponds to the XML Schema // namespace with built-in type definitions. The path is fake // and is only used as a lable. // - Evptr<SemanticGraph::Schema> + std::auto_ptr<SemanticGraph::Schema> xml_schema (SemanticGraph::Path const&); private: class Impl; - Evptr<Impl> impl_; + std::auto_ptr<Impl> impl_; }; } |