From 54110801525371740298d5cae378bfc778749935 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Jun 2012 11:50:03 +0200 Subject: Get rid of dependency on libcult --- xsd/processing/cardinality/processor.cxx | 84 +++++++++++++++----------------- xsd/processing/cardinality/processor.hxx | 8 ++- xsd/processing/inheritance/processor.cxx | 60 ++++++++++------------- xsd/processing/inheritance/processor.hxx | 8 ++- 4 files changed, 73 insertions(+), 87 deletions(-) (limited to 'xsd/processing') diff --git a/xsd/processing/cardinality/processor.cxx b/xsd/processing/cardinality/processor.cxx index a47ed96..87fdad3 100644 --- a/xsd/processing/cardinality/processor.cxx +++ b/xsd/processing/cardinality/processor.cxx @@ -3,24 +3,22 @@ // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include - -#include +#include #include #include -#include +#include + +#include + +using namespace std; namespace Processing { - using namespace Cult; - namespace SemanticGraph = XSDFrontend::SemanticGraph; namespace Traversal = XSDFrontend::Traversal; - typedef WideString String; - namespace Cardinality { namespace @@ -39,8 +37,7 @@ namespace Processing { } - ElementInfo (SemanticGraph::Element& e, - UnsignedLong min_, UnsignedLong max_) + ElementInfo (SemanticGraph::Element& e, size_t min_, size_t max_) : min (min_), max (max_), e_ (&e) { } @@ -53,13 +50,13 @@ namespace Processing } public: - UnsignedLong min, max; + size_t min, max; private: SemanticGraph::Element* e_; }; - typedef Cult::Containers::Map ElementInfoMap; + typedef map ElementInfoMap; // // @@ -75,8 +72,7 @@ namespace Processing { } - AnyInfo (SemanticGraph::Any& a, - UnsignedLong min_, UnsignedLong max_) + AnyInfo (SemanticGraph::Any& a, size_t min_, size_t max_) : min (min_), max (max_), a_ (&a) { } @@ -89,13 +85,13 @@ namespace Processing } public: - UnsignedLong min, max; + size_t min, max; private: SemanticGraph::Any* a_; }; - typedef Cult::Containers::Map AnyInfoMap; + typedef map AnyInfoMap; // // @@ -105,13 +101,13 @@ namespace Processing Traversal::Element, Traversal::Any { - virtual Void + virtual void traverse (SemanticGraph::All& a) { traverse_sequence (a); } - virtual Void + virtual void traverse (SemanticGraph::Choice& c) { using SemanticGraph::Compositor; @@ -135,13 +131,13 @@ namespace Processing // those that are we need to choose minimum between // the two for min and maximum for max. // - for (ElementInfoMap::Iterator i (el_map.begin ()); + for (ElementInfoMap::iterator i (el_map.begin ()); i != el_map.end (); ++i) { String const& name (i->first); ElementInfo& ei (i->second); - ElementInfoMap::Iterator j (t.el_map.find (name)); + ElementInfoMap::iterator j (t.el_map.find (name)); if (j == t.el_map.end ()) ei.min = 0; @@ -156,13 +152,13 @@ namespace Processing // not in the map, we need to add to the map and set their // min to 0. // - for (ElementInfoMap::Iterator i (t.el_map.begin ()); + for (ElementInfoMap::iterator i (t.el_map.begin ()); i != t.el_map.end (); ++i) { String const& name (i->first); ElementInfo& ei (i->second); - ElementInfoMap::Iterator j (el_map.find (name)); + ElementInfoMap::iterator j (el_map.find (name)); if (j == el_map.end ()) el_map[name] = ElementInfo (ei.element (), 0, ei.max); @@ -173,7 +169,7 @@ namespace Processing // we need to copy them from each arm of choice and set min to // 0. // - for (AnyInfoMap::Iterator i (t.any_map.begin ()); + for (AnyInfoMap::iterator i (t.any_map.begin ()); i != t.any_map.end (); ++i) { String const& name (i->first); @@ -187,19 +183,19 @@ namespace Processing // Choice's min and max. // - UnsignedLong cmin (c.min ()), cmax (c.max ()); + size_t cmin (c.min ()), cmax (c.max ()); // Iterate over elements and wildcards in the maps and multiply // their cardinality by cmin and cmax. // - for (ElementInfoMap::Iterator i (el_map.begin ()); + for (ElementInfoMap::iterator i (el_map.begin ()); i != el_map.end (); ++i) { i->second.min *= cmin; i->second.max *= cmax; } - for (AnyInfoMap::Iterator i (any_map.begin ()); + for (AnyInfoMap::iterator i (any_map.begin ()); i != any_map.end (); ++i) { i->second.min *= cmin; // Not really necessary since min == 0. @@ -207,20 +203,20 @@ namespace Processing } } - virtual Void + virtual void traverse (SemanticGraph::Sequence& s) { traverse_sequence (s); } - Void + void traverse_sequence (SemanticGraph::Compositor& c) { using SemanticGraph::Compositor; // Sequence's min and max. // - UnsignedLong smin (c.min ()), smax (c.max ()); + size_t smin (c.min ()), smax (c.max ()); // Go over all particles we contain and add them to the map. // @@ -232,14 +228,14 @@ namespace Processing // Handle elements. // - for (ElementInfoMap::Iterator i (t.el_map.begin ()); + for (ElementInfoMap::iterator i (t.el_map.begin ()); i != t.el_map.end (); ++i) { String const& name (i->first); ElementInfo& ei (i->second); - UnsignedLong min (ei.min * smin); - UnsignedLong max (ei.max * smax); - ElementInfoMap::Iterator j (el_map.find (name)); + size_t min (ei.min * smin); + size_t max (ei.max * smax); + ElementInfoMap::iterator j (el_map.find (name)); if (j != el_map.end ()) { @@ -255,13 +251,13 @@ namespace Processing // Handle wildcards. // - for (AnyInfoMap::Iterator i (t.any_map.begin ()); + for (AnyInfoMap::iterator i (t.any_map.begin ()); i != t.any_map.end (); ++i) { String const& name (i->first); AnyInfo& ai (i->second); - UnsignedLong min (ai.min * smin); - UnsignedLong max (ai.max * smax); + size_t min (ai.min * smin); + size_t max (ai.max * smax); assert (any_map.find (name) == any_map.end ()); @@ -270,7 +266,7 @@ namespace Processing } } - virtual Void + virtual void traverse (SemanticGraph::Element& e) { SemanticGraph::ContainsParticle& cp (e.contained_particle ()); @@ -282,7 +278,7 @@ namespace Processing el_map[name] = ElementInfo (e, cp.min (), cp.max ()); } - virtual Void + virtual void traverse (SemanticGraph::Any& a) { SemanticGraph::ContainsParticle& cp (a.contained_particle ()); @@ -300,7 +296,7 @@ namespace Processing // struct Complex: Traversal::Complex { - virtual Void + virtual void traverse (Type& c) { if (c.contains_compositor_p ()) @@ -308,7 +304,7 @@ namespace Processing Particle t; t.dispatch (c.contains_compositor ().compositor ()); - for (ElementInfoMap::Iterator i (t.el_map.begin ()); + for (ElementInfoMap::iterator i (t.el_map.begin ()); i != t.el_map.end (); ++i) { ElementInfo& ei (i->second); @@ -318,7 +314,7 @@ namespace Processing ctx.set ("max", ei.max); } - for (AnyInfoMap::Iterator i (t.any_map.begin ()); + for (AnyInfoMap::iterator i (t.any_map.begin ()); i != t.any_map.end (); ++i) { AnyInfo& ai (i->second); @@ -340,7 +336,7 @@ namespace Processing // struct Attribute: Traversal::Attribute { - virtual Void + virtual void traverse (Type& a) { SemanticGraph::Context& ctx (a.context ()); @@ -355,7 +351,7 @@ namespace Processing // struct Uses: Traversal::Uses { - virtual Void + virtual void traverse (Type& u) { SemanticGraph::Schema& s (u.schema ()); @@ -369,7 +365,7 @@ namespace Processing }; } - Void Processor:: + void Processor:: process (SemanticGraph::Schema& tu, SemanticGraph::Path const&) { Traversal::Schema schema; diff --git a/xsd/processing/cardinality/processor.hxx b/xsd/processing/cardinality/processor.hxx index fa1dffd..5d7fb3c 100644 --- a/xsd/processing/cardinality/processor.hxx +++ b/xsd/processing/cardinality/processor.hxx @@ -6,23 +6,21 @@ #ifndef PROCESSING_CARDINALITY_PROCESSOR_HXX #define PROCESSING_CARDINALITY_PROCESSOR_HXX -#include - #include // Path #include +#include + namespace Processing { namespace Cardinality { - using namespace Cult::Types; - class Processor { public: struct Failed {}; - Void + void process (XSDFrontend::SemanticGraph::Schema&, XSDFrontend::SemanticGraph::Path const& file); }; diff --git a/xsd/processing/inheritance/processor.cxx b/xsd/processing/inheritance/processor.cxx index 7d103db..1e46282 100644 --- a/xsd/processing/inheritance/processor.cxx +++ b/xsd/processing/inheritance/processor.cxx @@ -3,6 +3,9 @@ // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file +#include +#include + #include #include @@ -10,21 +13,13 @@ #include #include -#include - -#include -using std::wcerr; -using std::endl; +using namespace std; namespace Processing { - using namespace Cult; - namespace SemanticGraph = XSDFrontend::SemanticGraph; namespace Traversal = XSDFrontend::Traversal; - typedef WideString String; - namespace Inheritance { namespace @@ -43,15 +38,14 @@ namespace Processing String member_xpath; }; - inline Boolean + inline bool operator< (Dep const& a, Dep const& b) { return &a.type < &b.type; } - typedef Containers::Set DepSet; - typedef Containers::Set TypeSet; - + typedef set DepSet; + typedef set TypeSet; String xpath (SemanticGraph::Nameable& n) @@ -88,7 +82,7 @@ namespace Processing *this >> names_ >> *this; } - virtual Void + virtual void traverse (SemanticGraph::Complex& c) { using SemanticGraph::Complex; @@ -103,7 +97,7 @@ namespace Processing names (c); } - virtual Void + virtual void traverse (SemanticGraph::Member& m) { SemanticGraph::Type& t (m.type ()); @@ -158,14 +152,14 @@ namespace Processing } template - Void + void add_edge_left (E& e) { node_.add_edge_left (e, arg_); } template - Void + void add_edge_right (E& e) { node_.add_edge_right (e, arg_); @@ -185,26 +179,26 @@ namespace Processing { Global (SemanticGraph::Schema& root, SemanticGraph::Schema& schema, - Boolean& failed) + bool& failed) : root_ (root), schema_ (schema), failed_ (failed) { } - virtual Void + virtual void traverse (SemanticGraph::Type& t) { if (t.named_p ()) types_seen_.insert (&t); } - virtual Void + virtual void traverse (SemanticGraph::Complex& c) { check_dep (c, c); types_seen_.insert (&c); }; - virtual Void + virtual void traverse (SemanticGraph::Element& e) { SemanticGraph::Type& t (e.type ()); @@ -218,7 +212,7 @@ namespace Processing }; private: - Void + void check_dep (SemanticGraph::Nameable& global, SemanticGraph::Type& type) { @@ -236,7 +230,7 @@ namespace Processing complex.dispatch (type); } - for (DepSet::ConstIterator i (prereqs.begin ()); + for (DepSet::const_iterator i (prereqs.begin ()); i != prereqs.end (); ++i) { Dep const& dep (*i); @@ -364,7 +358,7 @@ namespace Processing private: // Return true if root sources s. // - Boolean + bool sources_p (SemanticGraph::Schema& root, SemanticGraph::Schema& s) { using SemanticGraph::Schema; @@ -387,7 +381,7 @@ namespace Processing SemanticGraph::Schema& root_; SemanticGraph::Schema& schema_; TypeSet types_seen_; - Boolean& failed_; + bool& failed_; }; @@ -403,7 +397,7 @@ namespace Processing } private: - Cult::Containers::Set schemas_; + set schemas_; }; // Go into included/imported schemas while making sure we don't @@ -411,25 +405,25 @@ namespace Processing // struct Uses: Traversal::Includes, Traversal::Imports { - Uses (SemanticGraph::Schema& root, Boolean& failed) + Uses (SemanticGraph::Schema& root, bool& failed) : root_ (root), failed_ (failed) { } - virtual Void + virtual void traverse (SemanticGraph::Includes& i) { traverse (i.schema ()); } - virtual Void + virtual void traverse (SemanticGraph::Imports& i) { traverse (i.schema ()); } private: - Void + void traverse (SemanticGraph::Schema& s) { if (!s.context ().count ("processing-inheritance-seen")) @@ -457,14 +451,14 @@ namespace Processing private: SemanticGraph::Schema& root_; - Boolean& failed_; + bool& failed_; }; } - Void Processor:: + void Processor:: process (SemanticGraph::Schema& tu, SemanticGraph::Path const&) { - Boolean failed (false); + bool failed (false); // We need to process include/imported schemas since other // parts of the process, for example, name processors can diff --git a/xsd/processing/inheritance/processor.hxx b/xsd/processing/inheritance/processor.hxx index 32cccc4..7bb8a7f 100644 --- a/xsd/processing/inheritance/processor.hxx +++ b/xsd/processing/inheritance/processor.hxx @@ -6,23 +6,21 @@ #ifndef PROCESSING_INHERITANCE_PROCESSOR_HXX #define PROCESSING_INHERITANCE_PROCESSOR_HXX -#include - #include // Path #include +#include + namespace Processing { namespace Inheritance { - using namespace Cult::Types; - class Processor { public: struct Failed {}; - Void + void process (XSDFrontend::SemanticGraph::Schema&, XSDFrontend::SemanticGraph::Path const& file); }; -- cgit v1.1