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 /xsd-frontend/semantic-graph | |
parent | 0bc53d3b22cedbe9e1f773e0a350280aef805eeb (diff) |
Use standard containers instead of ones from libcult
Diffstat (limited to 'xsd-frontend/semantic-graph')
-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 |
7 files changed, 61 insertions, 245 deletions
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; |