aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-05-09 16:45:09 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-05-09 16:45:09 +0200
commitcf2783f792ee634ffbbb36311c9f69956b1d107e (patch)
treec4a4d4a30451a65c63f3e21e04ac238e5a8ed039
parent0bc53d3b22cedbe9e1f773e0a350280aef805eeb (diff)
Use standard containers instead of ones from libcult
-rw-r--r--xsd-frontend/parser.cxx85
-rw-r--r--xsd-frontend/parser.hxx5
-rw-r--r--xsd-frontend/semantic-graph/any-attribute.hxx8
-rw-r--r--xsd-frontend/semantic-graph/any.hxx8
-rw-r--r--xsd-frontend/semantic-graph/complex.hxx2
-rw-r--r--xsd-frontend/semantic-graph/compositors.hxx17
-rw-r--r--xsd-frontend/semantic-graph/elements.cxx4
-rw-r--r--xsd-frontend/semantic-graph/elements.hxx244
-rw-r--r--xsd-frontend/semantic-graph/schema.hxx23
-rw-r--r--xsd-frontend/transformations/enum-synthesis.cxx6
-rw-r--r--xsd-frontend/transformations/restriction.cxx13
-rw-r--r--xsd-frontend/transformations/schema-per-type.cxx35
-rw-r--r--xsd-frontend/transformations/schema-per-type.hxx5
-rw-r--r--xsd-frontend/transformations/simplifier.cxx4
-rw-r--r--xsd-frontend/xml.hxx9
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)