aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid/aggregate-elements.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-03-26 17:09:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-03-26 17:09:53 +0200
commite4c22d3686da0e973e21eae0561c1169c0eeff36 (patch)
tree0a49e9167edc88938b0287949080931314e8afea /xsde/cxx/hybrid/aggregate-elements.hxx
parent0d62005a3ff3b62d02c2eb3fd8644e0e19b202e8 (diff)
Implement support for XML Schema polymorphism in C++/Hybrid
examples/cxx/hybrid/polyroot/ examples/cxx/hybrid/polymorphism/: new examples tests/cxx/hybrid/polymorphism/: new tests
Diffstat (limited to 'xsde/cxx/hybrid/aggregate-elements.hxx')
-rw-r--r--xsde/cxx/hybrid/aggregate-elements.hxx31
1 files changed, 31 insertions, 0 deletions
diff --git a/xsde/cxx/hybrid/aggregate-elements.hxx b/xsde/cxx/hybrid/aggregate-elements.hxx
new file mode 100644
index 0000000..aa4c504
--- /dev/null
+++ b/xsde/cxx/hybrid/aggregate-elements.hxx
@@ -0,0 +1,31 @@
+// file : xsde/cxx/hybrid/aggregate-elements.hxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : Copyright (c) 2005-2009 Code Synthesis Tools CC
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef CXX_HYBRID_AGGREGATE_ELEMENTS_HXX
+#define CXX_HYBRID_AGGREGATE_ELEMENTS_HXX
+
+#include <cult/containers/map.hxx>
+
+#include <cxx/hybrid/elements.hxx>
+
+namespace CXX
+{
+ namespace Hybrid
+ {
+ typedef
+ Cult::Containers::Map<SemanticGraph::Type*, String>
+ TypeInstanceMap;
+
+ struct InstanceInfo
+ {
+ SemanticGraph::Type* type;
+ String name;
+ };
+
+ typedef Cult::Containers::Map<String, InstanceInfo> TypeIdInstanceMap;
+ }
+}
+
+#endif // CXX_HYBRID_AGGREGATE_ELEMENTS_HXX