aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/serializer/name-processor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsde/cxx/serializer/name-processor.cxx')
-rw-r--r--xsde/cxx/serializer/name-processor.cxx208
1 files changed, 105 insertions, 103 deletions
diff --git a/xsde/cxx/serializer/name-processor.cxx b/xsde/cxx/serializer/name-processor.cxx
index 6d60c37..dc24f91 100644
--- a/xsde/cxx/serializer/name-processor.cxx
+++ b/xsde/cxx/serializer/name-processor.cxx
@@ -3,16 +3,18 @@
// copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+#include <set>
+#include <map>
+#include <sstream>
+#include <iostream>
+
#include <cxx/elements.hxx>
#include <cxx/serializer/name-processor.hxx>
#include <xsd-frontend/semantic-graph.hxx>
#include <xsd-frontend/traversal.hxx>
-#include <cult/containers/set.hxx>
-
-#include <sstream>
-#include <iostream>
+using namespace std;
namespace CXX
{
@@ -22,7 +24,7 @@ namespace CXX
{
//
//
- typedef Cult::Containers::Set<String> NameSet;
+ typedef set<String> NameSet;
class Context: public CXX::Context
{
@@ -62,7 +64,7 @@ namespace CXX
{
String name (escape (n + suffix));
- for (UnsignedLong i (1); set.find (name) != set.end (); ++i)
+ for (size_t i (1); set.find (name) != set.end (); ++i)
{
std::wostringstream os;
os << i;
@@ -83,18 +85,18 @@ namespace CXX
String const skel_suffix_;
String const impl_suffix_;
- Cult::Containers::Map<String, NameSet*> global_type_names_;
+ map<String, NameSet*> global_type_names_;
public:
- Boolean const impl;
- Boolean const tiein;
+ bool const impl;
+ bool const tiein;
String const& skel_suffix;
String const& impl_suffix;
- Cult::Containers::Map<String, NameSet*>& global_type_names;
+ map<String, NameSet*>& global_type_names;
- Boolean validation;
- Boolean polymorphic;
+ bool validation;
+ bool polymorphic;
};
// Primary names.
@@ -103,12 +105,12 @@ namespace CXX
Traversal::Any,
Context
{
- PrimaryParticle (Context& c, NameSet& set, Boolean restriction)
+ PrimaryParticle (Context& c, NameSet& set, bool restriction)
: Context (c), set_ (set), restriction_ (restriction)
{
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Element& e)
{
using SemanticGraph::Element;
@@ -126,7 +128,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Any& a)
{
using SemanticGraph::Any;
@@ -148,19 +150,19 @@ namespace CXX
private:
NameSet& set_;
- Boolean restriction_;
+ bool restriction_;
};
struct PrimaryAttribute: Traversal::Attribute,
Traversal::AnyAttribute,
Context
{
- PrimaryAttribute (Context& c, NameSet& set, Boolean restriction)
+ PrimaryAttribute (Context& c, NameSet& set, bool restriction)
: Context (c), set_ (set), restriction_ (restriction)
{
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Attribute& a)
{
using SemanticGraph::Attribute;
@@ -180,7 +182,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::AnyAttribute& a)
{
using SemanticGraph::AnyAttribute;
@@ -202,7 +204,7 @@ namespace CXX
private:
NameSet& set_;
- Boolean restriction_;
+ bool restriction_;
};
// Secondary names.
@@ -214,12 +216,12 @@ namespace CXX
Traversal::Sequence,
Context
{
- ParticleTag (Context& c, NameSet& set, Boolean restriction)
+ ParticleTag (Context& c, NameSet& set, bool restriction)
: Context (c), set_ (set), restriction_ (restriction)
{
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Element& e)
{
using SemanticGraph::Element;
@@ -240,7 +242,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Any& a)
{
using SemanticGraph::Any;
@@ -261,7 +263,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Choice& c)
{
using SemanticGraph::Compositor;
@@ -281,7 +283,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Sequence& s)
{
using SemanticGraph::Compositor;
@@ -303,7 +305,7 @@ namespace CXX
private:
NameSet& set_;
- Boolean restriction_;
+ bool restriction_;
};
struct SecondaryCompositor: Traversal::All,
@@ -311,7 +313,7 @@ namespace CXX
Traversal::Sequence,
Context
{
- SecondaryCompositor (Context& c, NameSet& set, Boolean restriction)
+ SecondaryCompositor (Context& c, NameSet& set, bool restriction)
: Context (c),
set_ (set),
restriction_ (restriction),
@@ -320,7 +322,7 @@ namespace CXX
contain_particle_tag_ >> particle_tag_;
}
- virtual Void
+ virtual void
traverse (SemanticGraph::All& a)
{
// For the all compositor, maxOccurs=1 and minOccurs={0,1}
@@ -335,7 +337,7 @@ namespace CXX
Traversal::All::traverse (a);
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Choice& c)
{
if (c.contains_begin () == c.contains_end ())
@@ -388,7 +390,7 @@ namespace CXX
Traversal::Choice::traverse (c);
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Sequence& s)
{
SemanticGraph::Context& sc (s.context ());
@@ -434,7 +436,7 @@ namespace CXX
private:
NameSet& set_;
- Boolean restriction_;
+ bool restriction_;
ParticleTag particle_tag_;
Traversal::ContainsParticle contain_particle_tag_;
@@ -444,22 +446,22 @@ namespace CXX
Traversal::Any,
Context
{
- SecondaryParticle (Context& c, NameSet& set, Boolean restriction)
+ SecondaryParticle (Context& c, NameSet& set, bool restriction)
: Context (c), set_ (set), restriction_ (restriction)
{
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Element& e)
{
- Boolean poly (
+ bool poly (
polymorphic && !e.type ().context ().count ("anonymous"));
SemanticGraph::Context& ec (e.context ());
if (!restriction_)
{
- UnsignedLong min (e.min ()), max (e.max ());
+ size_t min (e.min ()), max (e.max ());
String const& base (ec.get<String> ("s:name"));
@@ -482,7 +484,7 @@ namespace CXX
"xsd-frontend-restriction-correspondence"));
SemanticGraph::Context& bc (b.context ());
- UnsignedLong min (b.min ()), max (b.max ());
+ size_t min (b.min ()), max (b.max ());
if (min == 0 && max == 1)
ec.set ("s:present", bc.get<String> ("s:present"));
@@ -508,7 +510,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Any& a)
{
using SemanticGraph::Any;
@@ -517,7 +519,7 @@ namespace CXX
if (!restriction_)
{
- UnsignedLong min (a.min ()), max (a.max ());
+ size_t min (a.min ()), max (a.max ());
String const& base (ac.get<String> ("s:name"));
if (min == 0 && max == 1)
@@ -537,7 +539,7 @@ namespace CXX
*ac.get<Any*> ("xsd-frontend-restriction-correspondence"));
SemanticGraph::Context& bc (b.context ());
- UnsignedLong min (b.min ()), max (b.max ());
+ size_t min (b.min ()), max (b.max ());
if (min == 0 && max == 1)
{
@@ -563,19 +565,19 @@ namespace CXX
private:
NameSet& set_;
- Boolean restriction_;
+ bool restriction_;
};
struct SecondaryAttribute: Traversal::Attribute,
Traversal::AnyAttribute,
Context
{
- SecondaryAttribute (Context& c, NameSet& set, Boolean restriction)
+ SecondaryAttribute (Context& c, NameSet& set, bool restriction)
: Context (c), set_ (set), restriction_ (restriction)
{
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Attribute& a)
{
using SemanticGraph::Attribute;
@@ -606,7 +608,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::AnyAttribute& a)
{
using SemanticGraph::AnyAttribute;
@@ -634,7 +636,7 @@ namespace CXX
private:
NameSet& set_;
- Boolean restriction_;
+ bool restriction_;
};
//
@@ -646,7 +648,7 @@ namespace CXX
{
}
- virtual Void
+ virtual void
traverse (Type& c)
{
SemanticGraph::Context& cc (c.context ());
@@ -668,7 +670,7 @@ namespace CXX
// inheriting by restriction in which case we need to have
// the same names as our base.
//
- Boolean restriction (false);
+ bool restriction (false);
if (c.inherits_p ())
{
@@ -762,7 +764,7 @@ namespace CXX
{
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Type& t)
{
String const& n (t.name ());
@@ -793,7 +795,7 @@ namespace CXX
{
}
- virtual Void
+ virtual void
traverse (Type& ns)
{
SemanticGraph::Context& nsc (ns.context ());
@@ -889,13 +891,13 @@ namespace CXX
// anyType & anySimpleType.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::AnyType& t)
{
set_names (t, "any_type");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::AnySimpleType& t)
{
set_names (t, "any_simple_type");
@@ -903,7 +905,7 @@ namespace CXX
// Boolean.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Boolean& t)
{
set_names (t, "boolean");
@@ -911,79 +913,79 @@ namespace CXX
// Integral types.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Byte& t)
{
set_names (t, "byte");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::UnsignedByte& t)
{
set_names (t, "unsigned_byte");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Short& t)
{
set_names (t, "short");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::UnsignedShort& t)
{
set_names (t, "unsigned_short");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Int& t)
{
set_names (t, "int");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::UnsignedInt& t)
{
set_names (t, "unsigned_int");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Long& t)
{
set_names (t, "long");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::UnsignedLong& t)
{
set_names (t, "unsigned_long");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Integer& t)
{
set_names (t, "integer");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NonPositiveInteger& t)
{
set_names (t, "non_positive_integer");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NonNegativeInteger& t)
{
set_names (t, "non_negative_integer");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::PositiveInteger& t)
{
set_names (t, "positive_integer");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NegativeInteger& t)
{
set_names (t, "negative_integer");
@@ -991,19 +993,19 @@ namespace CXX
// Floats.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Float& t)
{
set_names (t, "float");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Double& t)
{
set_names (t, "double");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Decimal& t)
{
set_names (t, "decimal");
@@ -1011,49 +1013,49 @@ namespace CXX
// Strings.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::String& t)
{
set_names (t, "string");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NormalizedString& t)
{
set_names (t, "normalized_string");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Token& t)
{
set_names (t, "token");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NameToken& t)
{
set_names (t, "nmtoken");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NameTokens& t)
{
set_names (t, "nmtokens");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Name& t)
{
set_names (t, "name");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::NCName& t)
{
set_names (t, "ncname");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Language& t)
{
set_names (t, "language");
@@ -1062,7 +1064,7 @@ namespace CXX
// Qualified name.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::QName& t)
{
set_names (t, "qname");
@@ -1071,19 +1073,19 @@ namespace CXX
// ID/IDREF.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Id& t)
{
set_names (t, "id");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::IdRef& t)
{
set_names (t, "idref");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::IdRefs& t)
{
set_names (t, "idrefs");
@@ -1091,7 +1093,7 @@ namespace CXX
// URI.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::AnyURI& t)
{
set_names (t, "uri");
@@ -1099,13 +1101,13 @@ namespace CXX
// Binary.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Base64Binary& t)
{
set_names (t, "base64_binary");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::HexBinary& t)
{
set_names (t, "hex_binary");
@@ -1114,55 +1116,55 @@ namespace CXX
// Date/time.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Date& t)
{
set_names (t, "date");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::DateTime& t)
{
set_names (t, "date_time");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Duration& t)
{
set_names (t, "duration");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Day& t)
{
set_names (t, "gday");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Month& t)
{
set_names (t, "gmonth");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::MonthDay& t)
{
set_names (t, "gmonth_day");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Year& t)
{
set_names (t, "gyear");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::YearMonth& t)
{
set_names (t, "gyear_month");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Time& t)
{
set_names (t, "time");
@@ -1170,13 +1172,13 @@ namespace CXX
// Entity.
//
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Entity& t)
{
set_names (t, "entity");
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Fundamental::Entities& t)
{
set_names (t, "entities");
@@ -1195,12 +1197,12 @@ namespace CXX
return escape (base + impl_suffix);
}
- Void
+ void
set_names (SemanticGraph::Type& t, String const& name)
{
SemanticGraph::Context& c (t.context ());
- WideChar const* ns = validation
+ wchar_t const* ns = validation
? L"::xsde::cxx::serializer::validating::"
: L"::xsde::cxx::serializer::non_validating::";
@@ -1226,7 +1228,7 @@ namespace CXX
Traversal::Includes,
Traversal::Imports
{
- virtual Void
+ virtual void
traverse (SemanticGraph::Sources& sr)
{
SemanticGraph::Schema& s (sr.schema ());
@@ -1238,7 +1240,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Includes& i)
{
SemanticGraph::Schema& s (i.schema ());
@@ -1250,7 +1252,7 @@ namespace CXX
}
}
- virtual Void
+ virtual void
traverse (SemanticGraph::Imports& i)
{
SemanticGraph::Schema& s (i.schema ());
@@ -1268,7 +1270,7 @@ namespace CXX
//
struct Implies: Traversal::Implies
{
- virtual Void
+ virtual void
traverse (SemanticGraph::Implies& i)
{
SemanticGraph::Schema& s (i.schema ());
@@ -1281,11 +1283,11 @@ namespace CXX
}
};
- Void
+ void
process_impl (options const& ops,
SemanticGraph::Schema& tu,
SemanticGraph::Path const& file,
- Boolean deep)
+ bool deep)
{
Context ctx (ops, tu, file);
@@ -1379,11 +1381,11 @@ namespace CXX
}
}
- Void NameProcessor::
+ void NameProcessor::
process (options const& ops,
SemanticGraph::Schema& tu,
SemanticGraph::Path const& file,
- Boolean deep)
+ bool deep)
{
process_impl (ops, tu, file, deep);
}