diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-05-09 16:45:09 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-05-09 16:45:09 +0200 |
commit | cf2783f792ee634ffbbb36311c9f69956b1d107e (patch) | |
tree | c4a4d4a30451a65c63f3e21e04ac238e5a8ed039 | |
parent | 0bc53d3b22cedbe9e1f773e0a350280aef805eeb (diff) |
Use standard containers instead of ones from libcult
-rw-r--r-- | xsd-frontend/parser.cxx | 85 | ||||
-rw-r--r-- | xsd-frontend/parser.hxx | 5 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/any-attribute.hxx | 8 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/any.hxx | 8 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/complex.hxx | 2 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/compositors.hxx | 17 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/elements.cxx | 4 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/elements.hxx | 244 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/schema.hxx | 23 | ||||
-rw-r--r-- | xsd-frontend/transformations/enum-synthesis.cxx | 6 | ||||
-rw-r--r-- | xsd-frontend/transformations/restriction.cxx | 13 | ||||
-rw-r--r-- | xsd-frontend/transformations/schema-per-type.cxx | 35 | ||||
-rw-r--r-- | xsd-frontend/transformations/schema-per-type.hxx | 5 | ||||
-rw-r--r-- | xsd-frontend/transformations/simplifier.cxx | 4 | ||||
-rw-r--r-- | xsd-frontend/xml.hxx | 9 |
15 files changed, 139 insertions, 329 deletions
diff --git a/xsd-frontend/parser.cxx b/xsd-frontend/parser.cxx index 84da4d1..1ed7343 100644 --- a/xsd-frontend/parser.cxx +++ b/xsd-frontend/parser.cxx @@ -3,6 +3,12 @@ // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file +#include <map> +#include <stack> +#include <vector> + +#include <cutl/compiler/type-id.hxx> + #include <xsd-frontend/types.hxx> #include <xsd-frontend/parser.hxx> #include <xsd-frontend/xml.hxx> @@ -11,11 +17,6 @@ #include <xsd-frontend/semantic-graph.hxx> #include <xsd-frontend/traversal.hxx> -#include <cult/containers/map.hxx> -#include <cult/containers/stack.hxx> -#include <cult/containers/vector.hxx> -#include <cult/rtti/type-id.hxx> - //@@ Do i need this? // #include <xercesc/dom/DOM.hpp> @@ -46,7 +47,7 @@ using std::wcout; using std::wcerr; using std::endl; -using Cult::RTTI::TypeId; +using cutl::compiler::type_id; namespace XSDFrontend { @@ -157,9 +158,9 @@ namespace XSDFrontend Nameable* second; }; - typedef Cult::Containers::Map<String, CacheNodes> NodeMap; - typedef Cult::Containers::Map<String, NodeMap> NamespaceMap; - typedef Cult::Containers::Vector<SemanticGraph::Member*> DefaultValues; + typedef std::map<String, CacheNodes> NodeMap; + typedef std::map<String, NodeMap> NamespaceMap; + typedef std::vector<SemanticGraph::Member*> DefaultValues; template <typename X> X& @@ -170,11 +171,11 @@ namespace XSDFrontend { // First check the cache. // - NamespaceMap::Iterator i (cache.find (ns_name)); + NamespaceMap::iterator i (cache.find (ns_name)); if (i != cache.end ()) { - NodeMap::Iterator j (i->second.find (uq_name)); + NodeMap::iterator j (i->second.find (uq_name)); if (j != i->second.end ()) { @@ -225,12 +226,12 @@ namespace XSDFrontend // // - typedef Cult::Containers::Map<String, String> Facets; + typedef std::map<String, String> Facets; Void copy_facets (Restricts& r, Facets const& f) { - for (Facets::ConstIterator i (f.begin ()), e (f.end ()); i != e; ++i) + for (Facets::const_iterator i (f.begin ()), e (f.end ()); i != e; ++i) r.facet_insert (i->first, i->second); } @@ -247,7 +248,7 @@ namespace XSDFrontend String uq_name; }; - typedef Cult::Containers::Vector<UnionMemberType> UnionMemberTypes; + typedef std::vector<UnionMemberType> UnionMemberTypes; // // @@ -286,8 +287,7 @@ namespace XSDFrontend Scope::NamesIterator names_pos; }; - typedef Cult::Containers::Vector<ElementGroupRef> ElementGroupRefs; - + typedef std::vector<ElementGroupRef> ElementGroupRefs; // // @@ -308,7 +308,7 @@ namespace XSDFrontend Scope::NamesIterator names_pos; }; - typedef Cult::Containers::Vector<AttributeGroupRef> AttributeGroupRefs; + typedef std::vector<AttributeGroupRef> AttributeGroupRefs; // @@ -664,7 +664,7 @@ namespace XSDFrontend // Process it backwards so that we can just insert each // edge in the front. // - for (UnionMemberTypes::ConstReverseIterator i (m.rbegin ()); + for (UnionMemberTypes::const_reverse_iterator i (m.rbegin ()); i != m.rend (); i++) { try @@ -706,11 +706,9 @@ namespace XSDFrontend // if (c.context ().count ("type-ns-name")) { - using Cult::RTTI::TypeId; - String ns_name (c.context ().get<String> ("type-ns-name")); String uq_name (c.context ().get<String> ("type-uq-name")); - TypeId edge_id (c.context ().get<TypeId> ("edge-type-id")); + type_id edge_id (c.context ().get<type_id> ("edge-type-id")); c.context ().remove ("type-ns-name"); c.context ().remove ("type-uq-name"); @@ -762,7 +760,7 @@ namespace XSDFrontend // Handle refs from last to first so that multiple insertions // to an empty list (always front) end up in proper order. // - for (AttributeGroupRefs::ReverseIterator i (refs.rbegin ()); + for (AttributeGroupRefs::reverse_iterator i (refs.rbegin ()); i != refs.rend (); ++i) { clone_attribute_group_content (*i, c); @@ -898,7 +896,7 @@ namespace XSDFrontend // Handle refs from last to first so that multiple insertions // to an empty list (always front) end up in proper order. // - for (AttributeGroupRefs::ReverseIterator i (refs.rbegin ()); + for (AttributeGroupRefs::reverse_iterator i (refs.rbegin ()); i != refs.rend (); ++i) { clone_attribute_group_content (*i, g); @@ -927,7 +925,7 @@ namespace XSDFrontend // Handle refs from last to first so that multiple insertions // to an empty list (always front) end up in proper order. // - for (ElementGroupRefs::ReverseIterator i (refs.rbegin ()); + for (ElementGroupRefs::reverse_iterator i (refs.rbegin ()); i != refs.rend (); ++i) { // Find our scope. @@ -1434,7 +1432,7 @@ namespace XSDFrontend Boolean more () const { - Iterator const& it (iteration_state_.top ()); + iterator const& it (iteration_state_.top ()); return it.l_->getLength () > it.i_; } @@ -1442,7 +1440,7 @@ namespace XSDFrontend XML::Element next () { - Iterator& it (iteration_state_.top ()); + iterator& it (iteration_state_.top ()); return XML::Element ( dynamic_cast<Xerces::DOMElement*> (it.l_->item (it.i_++))); @@ -1451,7 +1449,7 @@ namespace XSDFrontend Void prev () { - Iterator& it (iteration_state_.top ()); + iterator& it (iteration_state_.top ()); if (it.i_) --it.i_; @@ -1625,9 +1623,9 @@ namespace XSDFrontend private: XML::PtrVector<Xerces::DOMDocument>* dom_docs_; - struct Iterator + struct iterator { - Iterator (Xerces::DOMElement* e) + iterator (Xerces::DOMElement* e) : l_ (e->getChildNodes ()), i_ (0) { } @@ -1636,7 +1634,7 @@ namespace XSDFrontend Size i_; }; - Cult::Containers::Stack<Iterator> iteration_state_; + std::stack<iterator> iteration_state_; SemanticGraph::Schema* s_; // root schema file SemanticGraph::Schema* cur_; // current schema file Boolean cur_chameleon_; // whethere cur_ is chameleon @@ -1646,11 +1644,11 @@ namespace XSDFrontend // // - Cult::Containers::Stack<SemanticGraph::Scope*> scope_stack_; + std::stack<SemanticGraph::Scope*> scope_stack_; // // - Cult::Containers::Stack<SemanticGraph::Compositor*> compositor_stack_; + std::stack<SemanticGraph::Compositor*> compositor_stack_; // Map of absolute file path and namespace pair to a Schema node. @@ -1677,10 +1675,7 @@ namespace XSDFrontend }; - typedef - Cult::Containers::Map<SchemaId, SemanticGraph::Schema*> - SchemaMap; - + typedef std::map<SchemaId, SemanticGraph::Schema*> SchemaMap; SchemaMap schema_map_; // Path stack for diagnostic. @@ -1695,7 +1690,7 @@ namespace XSDFrontend SemanticGraph::Path rel, abs; }; - Cult::Containers::Stack<PathPair> file_stack_; + std::stack<PathPair> file_stack_; SemanticGraph::Path const& file () @@ -2065,7 +2060,7 @@ namespace XSDFrontend // if (valid_) { - for (DefaultValues::ConstIterator i (default_values_.begin ()), + for (DefaultValues::const_iterator i (default_values_.begin ()), e (default_values_.end ()); i != e; ++i) { SemanticGraph::Member& m (**i); @@ -2139,7 +2134,7 @@ namespace XSDFrontend // s_ = rs.get (); - for (Paths::ConstIterator i (paths.begin ()); i != paths.end (); ++i) + for (Paths::const_iterator i (paths.begin ()); i != paths.end (); ++i) { Path const& tu (*i); XML::AutoPtr<Xerces::DOMDocument> d (dom (tu, true)); @@ -2312,7 +2307,7 @@ namespace XSDFrontend // if (valid_) { - for (DefaultValues::ConstIterator i (default_values_.begin ()), + for (DefaultValues::const_iterator i (default_values_.begin ()), e (default_values_.end ()); i != e; ++i) { SemanticGraph::Member& m (**i); @@ -4054,7 +4049,7 @@ namespace XSDFrontend node.context ().set ("type-ns-name", ns_name); node.context ().set ("type-uq-name", uq_name); - node.context ().set ("edge-type-id", TypeId (typeid (Belongs))); + node.context ().set ("edge-type-id", type_id (typeid (Belongs))); if (trace_) wcout << "element '" << ref << "' is not typed" << endl @@ -4387,7 +4382,7 @@ namespace XSDFrontend node.context ().set ("type-ns-name", ns_name); node.context ().set ("type-uq-name", uq_name); - node.context ().set ("edge-type-id", TypeId (typeid (Belongs))); + node.context ().set ("edge-type-id", type_id (typeid (Belongs))); if (trace_) wcout << "attribute '" << ref << "' is not typed" << endl @@ -4736,7 +4731,7 @@ namespace XSDFrontend { node.context ().set ("type-ns-name", ex.ns ()); node.context ().set ("type-uq-name", ex.name ()); - node.context ().set ("edge-type-id", TypeId (typeid (Edge))); + node.context ().set ("edge-type-id", type_id (typeid (Edge))); if (trace_) wcout << "unable to resolve name '" << ex.name () @@ -4766,7 +4761,7 @@ namespace XSDFrontend Path const& file (Path const& abs) const { - FileMap::ConstIterator i (file_map_.find (abs)); + FileMap::const_iterator i (file_map_.find (abs)); if (i != file_map_.end ()) { @@ -4785,7 +4780,7 @@ namespace XSDFrontend } private: - typedef Cult::Containers::Map<Path, Path, FilePathComparator> FileMap; + typedef std::map<Path, Path, FilePathComparator> FileMap; FileMap file_map_; }; diff --git a/xsd-frontend/parser.hxx b/xsd-frontend/parser.hxx index 3e1ff8a..3e76285 100644 --- a/xsd-frontend/parser.hxx +++ b/xsd-frontend/parser.hxx @@ -6,8 +6,9 @@ #ifndef XSD_FRONTEND_PARSER_HXX #define XSD_FRONTEND_PARSER_HXX +#include <set> + #include <cult/types.hxx> -#include <cult/containers/set.hxx> #include <xsd-frontend/semantic-graph/schema.hxx> @@ -30,7 +31,7 @@ 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 { diff --git a/xsd-frontend/semantic-graph/any-attribute.hxx b/xsd-frontend/semantic-graph/any-attribute.hxx index 366bc0b..be06a83 100644 --- a/xsd-frontend/semantic-graph/any-attribute.hxx +++ b/xsd-frontend/semantic-graph/any-attribute.hxx @@ -6,7 +6,7 @@ #ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX #define XSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX -#include <cult/containers/vector.hxx> +#include <vector> #include <xsd-frontend/semantic-graph/elements.hxx> #include <xsd-frontend/semantic-graph/namespace.hxx> @@ -17,12 +17,10 @@ namespace XSDFrontend { class AnyAttribute: public virtual Nameable { - typedef - Cult::Containers::Vector<WideString> - Namespaces; + typedef std::vector<WideString> Namespaces; public: - typedef Namespaces::ConstIterator NamespaceIterator; + typedef Namespaces::const_iterator NamespaceIterator; NamespaceIterator namespace_begin () const diff --git a/xsd-frontend/semantic-graph/any.hxx b/xsd-frontend/semantic-graph/any.hxx index 5059ff4..fce77a4 100644 --- a/xsd-frontend/semantic-graph/any.hxx +++ b/xsd-frontend/semantic-graph/any.hxx @@ -6,7 +6,7 @@ #ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX #define XSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX -#include <cult/containers/vector.hxx> +#include <vector> #include <xsd-frontend/semantic-graph/elements.hxx> #include <xsd-frontend/semantic-graph/particle.hxx> @@ -19,12 +19,10 @@ namespace XSDFrontend class Any: public virtual Nameable, public virtual Particle { - typedef - Cult::Containers::Vector<WideString> - Namespaces; + typedef std::vector<WideString> Namespaces; public: - typedef Namespaces::ConstIterator NamespaceIterator; + typedef Namespaces::const_iterator NamespaceIterator; NamespaceIterator namespace_begin () const diff --git a/xsd-frontend/semantic-graph/complex.hxx b/xsd-frontend/semantic-graph/complex.hxx index 7fd9e54..106a549 100644 --- a/xsd-frontend/semantic-graph/complex.hxx +++ b/xsd-frontend/semantic-graph/complex.hxx @@ -9,8 +9,6 @@ #include <xsd-frontend/semantic-graph/elements.hxx> #include <xsd-frontend/semantic-graph/compositors.hxx> -#include <cult/containers/vector.hxx> - namespace XSDFrontend { namespace SemanticGraph diff --git a/xsd-frontend/semantic-graph/compositors.hxx b/xsd-frontend/semantic-graph/compositors.hxx index f646640..f7aed8f 100644 --- a/xsd-frontend/semantic-graph/compositors.hxx +++ b/xsd-frontend/semantic-graph/compositors.hxx @@ -6,7 +6,7 @@ #ifndef XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX #define XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX -#include <cult/containers/list.hxx> +#include <list> #include <xsd-frontend/semantic-graph/elements.hxx> #include <xsd-frontend/semantic-graph/particle.hxx> @@ -84,17 +84,12 @@ namespace XSDFrontend // class Compositor: public virtual Particle { - typedef - Cult::Containers::List<ContainsParticle*> - ContainsList; + typedef std::list<ContainsParticle*> ContainsList; public: + typedef pointer_iterator<ContainsList::iterator> ContainsIterator; typedef - Bits::PointerIterator<ContainsList::Iterator> - ContainsIterator; - - typedef - Bits::PointerIterator<ContainsList::ConstIterator> + pointer_iterator<ContainsList::const_iterator> ContainsConstIterator; ContainsIterator @@ -170,7 +165,7 @@ namespace XSDFrontend contains_.push_front (&e); else { - ContainsList::Iterator i (after.base ()); + ContainsList::iterator i (after.base ()); contains_.insert (++i, &e); } } @@ -178,7 +173,7 @@ namespace XSDFrontend Void remove_edge_left (ContainsParticle& e) { - for (ContainsList::Iterator i (contains_.begin ()); + for (ContainsList::iterator i (contains_.begin ()); i != contains_.end (); ++i) { if (*i == &e) diff --git a/xsd-frontend/semantic-graph/elements.cxx b/xsd-frontend/semantic-graph/elements.cxx index 36fb9a3..4a4e30c 100644 --- a/xsd-frontend/semantic-graph/elements.cxx +++ b/xsd-frontend/semantic-graph/elements.cxx @@ -29,7 +29,7 @@ namespace XSDFrontend Void Type:: remove_edge_left (Arguments& a) { - ArgumentsSet::Iterator i (arguments_.find (&a)); + ArgumentsSet::iterator i (arguments_.find (&a)); assert (i != arguments_.end ()); arguments_.erase (i); } @@ -41,7 +41,7 @@ namespace XSDFrontend { // The number of entries should be small so linear search will do. // - Argumented::Iterator i ( + Argumented::iterator i ( std::find (argumented_.begin (), argumented_.end (), &a)); assert (i != argumented_.end ()); diff --git a/xsd-frontend/semantic-graph/elements.hxx b/xsd-frontend/semantic-graph/elements.hxx index 2d01c91..2b9ce06 100644 --- a/xsd-frontend/semantic-graph/elements.hxx +++ b/xsd-frontend/semantic-graph/elements.hxx @@ -6,6 +6,11 @@ #ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX #define XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX +#include <set> +#include <map> +#include <list> +#include <vector> +#include <utility> // std::pair #include <iosfwd> #include <boost/filesystem/path.hpp> @@ -13,158 +18,28 @@ #include <boost/filesystem/exception.hpp> #include <cutl/container/graph.hxx> +#include <cutl/container/pointer-iterator.hxx> +#include <cutl/compiler/context.hxx> #include <cult/types.hxx> -#include <cult/containers/set.hxx> -#include <cult/containers/map.hxx> -#include <cult/containers/list.hxx> -#include <cult/containers/pair.hxx> -#include <cult/containers/vector.hxx> - -#include <cutl/compiler/context.hxx> - namespace XSDFrontend { namespace SemanticGraph { using namespace cutl; - using namespace Cult::Types; - - namespace Bits - { - //@@ Should end up in Cult::Meta - // - template <typename X> - struct strip_pointer - { - typedef X Type; - }; - - template <typename X> - struct strip_pointer<X*> - { - typedef X Type; - }; - - template <typename I> - struct PointerIterator - { - typedef - typename strip_pointer<typename I::Value>::Type - Value; + using container::pointer_iterator; - typedef I BaseIterator; - typedef Value& Reference; - typedef Value* Pointer; - - PointerIterator () - : i_ () // i_ can be of a pointer type. - { - } - - PointerIterator (I const& i) - : i_ (i) - { - } - - public: - Reference - operator* () const - { - return **i_; - } - - Pointer - operator-> () const - { - return *i_; - } - - I const& - base () const - { - return i_; - } - - public: - PointerIterator& - operator++ () - { - ++i_; - return *this; - } - - PointerIterator - operator++ (Int) - { - PointerIterator r (*this); - ++i_; - return r; - } - - PointerIterator& - operator-- () - { - --i_; - return *this; - } - - PointerIterator - operator-- (Int) - { - PointerIterator r (*this); - --i_; - return r; - } - - private: - I i_; - }; - - template <typename I> - inline - Boolean - operator== (PointerIterator<I> const& a, PointerIterator<I> const& b) - { - return a.base () == b.base (); - } - - template <typename I> - inline - Boolean - operator!= (PointerIterator<I> const& a, PointerIterator<I> const& b) - { - return a.base () != b.base (); - } - - template <typename I> - inline - typename PointerIterator<I>::BaseIterator::difference_type - operator- (PointerIterator<I> const& a, PointerIterator<I> const& b) - { - return a.base () - b.base (); - } - } + using namespace Cult::Types; // // - typedef - boost::filesystem::filesystem_error - InvalidPath; + typedef boost::filesystem::path Path; + typedef std::vector<Path> Paths; + typedef boost::filesystem::filesystem_error InvalidPath; - typedef - boost::filesystem::path - Path; - - typedef - Cult::Containers::Vector<Path> - Paths; - - typedef - compiler::context - Context; + typedef compiler::context Context; // // @@ -426,42 +301,25 @@ namespace XSDFrontend Names* named_; }; - // // - typedef - Cult::Containers::Set<Nameable*> - Nameables; - + typedef std::set<Nameable*> Nameables; // // class Scope: public virtual Nameable { protected: - typedef - Cult::Containers::List<Names*> - NamesList; - - typedef - Cult::Containers::Map<Names*, NamesList::Iterator> - ListIteratorMap; - - typedef - Cult::Containers::Map<Name, NamesList> - NamesMap; + typedef std::list<Names*> NamesList; + typedef std::map<Names*, NamesList::iterator> ListIteratorMap; + typedef std::map<Name, NamesList> NamesMap; public: - typedef - Bits::PointerIterator<NamesList::Iterator> - NamesIterator; + typedef pointer_iterator<NamesList::iterator> NamesIterator; + typedef pointer_iterator<NamesList::const_iterator> NamesConstIterator; typedef - Bits::PointerIterator<NamesList::ConstIterator> - NamesConstIterator; - - typedef - Cult::Containers::Pair <NamesConstIterator, NamesConstIterator> + std::pair<NamesConstIterator, NamesConstIterator> NamesIteratorPair; NamesIterator @@ -491,7 +349,7 @@ namespace XSDFrontend virtual NamesIteratorPair find (Name const& name) const { - NamesMap::ConstIterator i (names_map_.find (name)); + NamesMap::const_iterator i (names_map_.find (name)); if (i == names_map_.end ()) return NamesIteratorPair (names_.end (), names_.end ()); @@ -502,7 +360,7 @@ namespace XSDFrontend NamesIterator find (Names& e) { - ListIteratorMap::Iterator i (iterator_map_.find (&e)); + ListIteratorMap::iterator i (iterator_map_.find (&e)); return i != iterator_map_.end () ? i->second : names_.end (); } @@ -515,7 +373,7 @@ namespace XSDFrontend Void add_edge_left (Names& e) { - NamesList::Iterator i (names_.insert (names_.end (), &e)); + NamesList::iterator i (names_.insert (names_.end (), &e)); iterator_map_[&e] = i; names_map_[e.name ()].push_back (&e); } @@ -523,15 +381,15 @@ namespace XSDFrontend Void remove_edge_left (Names& e) { - ListIteratorMap::Iterator i (iterator_map_.find (&e)); + ListIteratorMap::iterator i (iterator_map_.find (&e)); assert (i != iterator_map_.end ()); names_.erase (i->second); iterator_map_.erase (i); - NamesMap::Iterator j (names_map_.find (e.name ())); + NamesMap::iterator j (names_map_.find (e.name ())); - for (NamesList::Iterator i (j->second.begin ()); + for (NamesList::iterator i (j->second.begin ()); i != j->second.end (); ++i) { if (*i == &e) @@ -542,13 +400,13 @@ namespace XSDFrontend Void add_edge_left (Names& e, NamesIterator const& after) { - NamesList::Iterator i; + NamesList::iterator i; if (after.base () == names_.end ()) i = names_.insert (names_.begin (), &e); else { - NamesList::Iterator j (after.base ()); + NamesList::iterator j (after.base ()); i = names_.insert (++j, &e); } @@ -577,22 +435,12 @@ namespace XSDFrontend class Type: public virtual Nameable { protected: - typedef - Cult::Containers::Vector<Belongs*> - Classifies; - - typedef - Cult::Containers::Vector<Inherits*> - Begets; - - typedef - Cult::Containers::Set<Arguments*> - ArgumentsSet; + typedef std::vector<Belongs*> Classifies; + typedef std::vector<Inherits*> Begets; + typedef std::set<Arguments*> ArgumentsSet; public: - typedef - Bits::PointerIterator<Classifies::ConstIterator> - ClassifiesIterator; + typedef pointer_iterator<Classifies::const_iterator> ClassifiesIterator; ClassifiesIterator classifies_begin () const @@ -623,9 +471,7 @@ namespace XSDFrontend // // - typedef - Bits::PointerIterator<Begets::ConstIterator> - BegetsIterator; + typedef pointer_iterator<Begets::const_iterator> BegetsIterator; BegetsIterator begets_begin () const @@ -641,9 +487,7 @@ namespace XSDFrontend // // - typedef - Bits::PointerIterator<ArgumentsSet::ConstIterator> - ArgumentsIterator; + typedef pointer_iterator<ArgumentsSet::const_iterator> ArgumentsIterator; ArgumentsIterator arguments_begin () const @@ -804,13 +648,8 @@ namespace XSDFrontend class Restricts: public virtual Inherits { public: - typedef - Cult::Containers::Map<WideString, WideString> - Facets; - - typedef - Facets::Iterator - FacetIterator; + typedef std::map<WideString, WideString> Facets; + typedef Facets::iterator FacetIterator; Boolean facet_empty () @@ -1012,17 +851,12 @@ namespace XSDFrontend class Specialization: public virtual Type { - typedef - Cult::Containers::Vector<Arguments*> - Argumented; + typedef std::vector<Arguments*> Argumented; public: + typedef pointer_iterator<Argumented::iterator> ArgumentedIterator; typedef - Bits::PointerIterator<Argumented::Iterator> - ArgumentedIterator; - - typedef - Bits::PointerIterator<Argumented::ConstIterator> + pointer_iterator<Argumented::const_iterator> ArgumentedConstIterator; ArgumentedIterator diff --git a/xsd-frontend/semantic-graph/schema.hxx b/xsd-frontend/semantic-graph/schema.hxx index e8949a6..1150047 100644 --- a/xsd-frontend/semantic-graph/schema.hxx +++ b/xsd-frontend/semantic-graph/schema.hxx @@ -6,7 +6,8 @@ #ifndef XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX #define XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX -#include <cult/containers/set.hxx> +#include <set> +#include <vector> #include <xsd-frontend/semantic-graph/elements.hxx> #include <xsd-frontend/semantic-graph/namespace.hxx> @@ -99,13 +100,8 @@ namespace XSDFrontend // class Schema: public graph, public virtual Scope { - typedef - Cult::Containers::Vector<Uses*> - UsesList; - - typedef - Cult::Containers::Vector<Uses*> - UsedList; + typedef std::vector<Uses*> UsesList; + typedef std::vector<Uses*> UsedList; public: Schema (Path const& file, UnsignedLong line, UnsignedLong column) @@ -118,9 +114,7 @@ namespace XSDFrontend Schema& operator= (Schema const&); public: - typedef - Bits::PointerIterator<UsesList::ConstIterator> - UsesIterator; + typedef pointer_iterator<UsesList::const_iterator> UsesIterator; UsesIterator uses_begin () const @@ -134,9 +128,8 @@ namespace XSDFrontend return uses_.end (); } - typedef - Bits::PointerIterator<UsedList::ConstIterator> - UsedIterator; + public: + typedef pointer_iterator<UsedList::const_iterator> UsedIterator; UsedIterator used_begin () const @@ -225,7 +218,7 @@ namespace XSDFrontend } private: - typedef Cult::Containers::Set<Schema const*> SchemaSet; + typedef std::set<Schema const*> SchemaSet; Void find_ (Name const& name, NamesList&, SchemaSet&) const; diff --git a/xsd-frontend/transformations/enum-synthesis.cxx b/xsd-frontend/transformations/enum-synthesis.cxx index 6ffb494..165d162 100644 --- a/xsd-frontend/transformations/enum-synthesis.cxx +++ b/xsd-frontend/transformations/enum-synthesis.cxx @@ -3,12 +3,12 @@ // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <xsd-frontend/transformations/enum-synthesis.hxx> +#include <set> #include <xsd-frontend/semantic-graph.hxx> #include <xsd-frontend/traversal.hxx> -#include <cult/containers/set.hxx> +#include <xsd-frontend/transformations/enum-synthesis.hxx> namespace XSDFrontend { @@ -17,7 +17,7 @@ namespace XSDFrontend namespace { - typedef Cult::Containers::Set<String> Enumerators; + typedef std::set<String> Enumerators; struct Enumerator: Traversal::Enumerator { diff --git a/xsd-frontend/transformations/restriction.cxx b/xsd-frontend/transformations/restriction.cxx index 77c947e..8b3bac7 100644 --- a/xsd-frontend/transformations/restriction.cxx +++ b/xsd-frontend/transformations/restriction.cxx @@ -3,14 +3,13 @@ // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <xsd-frontend/transformations/restriction.hxx> +#include <vector> +#include <iostream> #include <xsd-frontend/semantic-graph.hxx> #include <xsd-frontend/traversal.hxx> -#include <cult/containers/vector.hxx> - -#include <iostream> +#include <xsd-frontend/transformations/restriction.hxx> using std::wcerr; using std::endl; @@ -21,7 +20,7 @@ namespace XSDFrontend typedef WideString String; typedef Transformations::Restriction::Failed Failed; - typedef Containers::Vector<SemanticGraph::Complex*> BaseList; + typedef std::vector<SemanticGraph::Complex*> BaseList; namespace { @@ -107,7 +106,7 @@ namespace XSDFrontend else { Compositor::ContainsIterator i (root.contains_begin ()); - BaseList::ReverseIterator j (base_model.rbegin ()); + BaseList::reverse_iterator j (base_model.rbegin ()); for (; i != root.contains_end (); ++i, ++j) { @@ -369,7 +368,7 @@ namespace XSDFrontend { using namespace SemanticGraph; - BaseList::ReverseIterator bi (bl.rbegin ()), be (bl.rend ()); + BaseList::reverse_iterator bi (bl.rbegin ()), be (bl.rend ()); Scope::NamesIterator si; if (bi != be) diff --git a/xsd-frontend/transformations/schema-per-type.cxx b/xsd-frontend/transformations/schema-per-type.cxx index 3b93ea3..9c7be34 100644 --- a/xsd-frontend/transformations/schema-per-type.cxx +++ b/xsd-frontend/transformations/schema-per-type.cxx @@ -3,19 +3,19 @@ // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <xsd-frontend/transformations/schema-per-type.hxx> - -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <strings.h> // strcasecmp -#include <cult/containers/map.hxx> -#include <cult/containers/set.hxx> -#include <cult/containers/vector.hxx> +#include <map> +#include <set> +#include <vector> #include <sstream> #include <iostream> -#include <strings.h> // strcasecmp +#include <xsd-frontend/semantic-graph.hxx> +#include <xsd-frontend/traversal.hxx> + +#include <xsd-frontend/transformations/schema-per-type.hxx> using std::wcerr; using std::endl; @@ -27,9 +27,10 @@ namespace XSDFrontend typedef WideString String; typedef Transformations::SchemaPerType::Failed Failed; - typedef Containers::Vector<SemanticGraph::Schema*> Schemas; - typedef Containers::Map<SemanticGraph::Type*, - SemanticGraph::Schema*> TypeSchemaMap; + typedef std::vector<SemanticGraph::Schema*> Schemas; + typedef + std::map<SemanticGraph::Type*, SemanticGraph::Schema*> + TypeSchemaMap; // Compare file paths case-insensitively. // @@ -42,7 +43,7 @@ namespace XSDFrontend } }; - typedef Containers::Set<NarrowString, FileComparator> FileSet; + typedef std::set<NarrowString, FileComparator> FileSet; namespace { @@ -298,7 +299,7 @@ namespace XSDFrontend { using namespace SemanticGraph; - TypeSchemaMap::Iterator i (tsm_.find (&t)); + TypeSchemaMap::iterator i (tsm_.find (&t)); // If a type is not present in the map then it must be // a built-in type. @@ -334,7 +335,7 @@ namespace XSDFrontend SemanticGraph::Schema& root_; Char const* by_value_key_; TypeSchemaMap& tsm_; - Containers::Set<SemanticGraph::Type*> type_set_; + std::set<SemanticGraph::Type*> type_set_; Traversal::Names names_; }; @@ -377,7 +378,7 @@ namespace XSDFrontend // FileSet file_set; - for (Schemas::Iterator i (schemas.begin ()); i != schemas.end (); ++i) + for (Schemas::iterator i (schemas.begin ()); i != schemas.end (); ++i) { SemanticGraph::Path const& path ( (*i)->context ().get<SemanticGraph::Path> ("absolute-path")); @@ -444,7 +445,7 @@ namespace XSDFrontend // TypeSchemaMap tsm; - for (Schemas::Iterator i (schemas.begin ()); i != schemas.end (); ++i) + for (Schemas::iterator i (schemas.begin ()); i != schemas.end (); ++i) { process_schema (**i, root, *xsd, tsm, file_set, fat_type_file_, trans_); } @@ -454,7 +455,7 @@ namespace XSDFrontend // Establish include/import dependencies. While at it add the // new schemas to the list which we will return. // - for (TypeSchemaMap::Iterator i (tsm.begin ()); i != tsm.end (); ++i) + for (TypeSchemaMap::iterator i (tsm.begin ()); i != tsm.end (); ++i) { SemanticGraph::Schema& s (*i->second); Type t (s, root, by_value_key_, tsm); diff --git a/xsd-frontend/transformations/schema-per-type.hxx b/xsd-frontend/transformations/schema-per-type.hxx index 8f582ae..65499a2 100644 --- a/xsd-frontend/transformations/schema-per-type.hxx +++ b/xsd-frontend/transformations/schema-per-type.hxx @@ -6,8 +6,9 @@ #ifndef XSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX #define XSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX +#include <vector> + #include <cult/types.hxx> -#include <cult/containers/vector.hxx> #include <xsd-frontend/semantic-graph/elements.hxx> // Path #include <xsd-frontend/semantic-graph/schema.hxx> @@ -50,7 +51,7 @@ namespace XSDFrontend Boolean fat_type_file, Char const* by_value_key = 0); - Cult::Containers::Vector<SemanticGraph::Schema*> + std::vector<SemanticGraph::Schema*> transform (SemanticGraph::Schema&); private: diff --git a/xsd-frontend/transformations/simplifier.cxx b/xsd-frontend/transformations/simplifier.cxx index 1001a87..c87779b 100644 --- a/xsd-frontend/transformations/simplifier.cxx +++ b/xsd-frontend/transformations/simplifier.cxx @@ -3,12 +3,10 @@ // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <xsd-frontend/transformations/simplifier.hxx> - #include <xsd-frontend/semantic-graph.hxx> #include <xsd-frontend/traversal.hxx> -#include <cult/containers/vector.hxx> +#include <xsd-frontend/transformations/simplifier.hxx> namespace XSDFrontend { diff --git a/xsd-frontend/xml.hxx b/xsd-frontend/xml.hxx index e1ff085..95621e1 100644 --- a/xsd-frontend/xml.hxx +++ b/xsd-frontend/xml.hxx @@ -6,13 +6,12 @@ #ifndef XSD_FRONTEND_XML_HXX #define XSD_FRONTEND_XML_HXX +#include <vector> #include <ostream> #include <xercesc/dom/DOM.hpp> #include <xercesc/util/XMLString.hpp> -#include <cult/containers/vector.hxx> - #include <xsd-frontend/types.hxx> #include <xsd-frontend/schema-dom-parser.hxx> @@ -530,13 +529,13 @@ namespace XSDFrontend }; template <typename X> - struct PtrVector: Cult::Containers::Vector<X*> + struct PtrVector: std::vector<X*> { - typedef Cult::Containers::Vector<X*> Base; + typedef std::vector<X*> Base; ~PtrVector () { - for (typename Base::Iterator i (this->begin ()), e (this->end ()); + for (typename Base::iterator i (this->begin ()), e (this->end ()); i != e; ++i) { if (*i) |