aboutsummaryrefslogtreecommitdiff
path: root/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-03-28 12:04:39 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-03-28 12:04:39 +0200
commitc2d201480002a24c05f1f4bc934036555b79cad6 (patch)
tree056d565a1a878eb154faa6f028072ca84c2356aa /libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx
parent27e27f0758170fe2607e34f7d89dbd6700a9bf76 (diff)
Avoid repetition in string-based skeleton definitions
Diffstat (limited to 'libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx')
-rw-r--r--libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx339
1 files changed, 10 insertions, 329 deletions
diff --git a/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx b/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx
index c0b77d6..940f256 100644
--- a/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx
+++ b/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.hxx
@@ -638,338 +638,14 @@ namespace xsde
// String-based types.
//
-#ifdef XSDE_STL
-
struct string_sskel: simple_content
{
virtual void
+#ifdef XSDE_STL
pre (const std::string&) = 0;
-
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
- string_sskel ();
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- string_sskel (string_sskel* impl, void*);
-
- protected:
- string_sskel* string_impl_;
-#endif
- // Facets.
- //
- public:
- void
- _length_facet (size_t);
-
- void
- _max_length_facet (size_t);
-
- void
- _min_length_facet (size_t);
-
- protected:
- struct facets
- {
- size_t length_;
- size_t min_length_;
- size_t max_length_;
-
- unsigned int length_set_ : 1;
- unsigned int min_length_set_ : 1;
- unsigned int max_length_set_ : 1;
- };
-
- const facets&
- _facets () const;
-
- private:
- facets facets_;
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct normalized_string_sskel: virtual string_sskel
-#else
- struct normalized_string_sskel: string_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- normalized_string_sskel ();
- normalized_string_sskel (normalized_string_sskel* impl, void*);
-
- protected:
- normalized_string_sskel* normalized_string_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct token_sskel: virtual normalized_string_sskel
#else
- struct token_sskel: normalized_string_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- token_sskel ();
- token_sskel (token_sskel* impl, void*);
-
- protected:
- token_sskel* token_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct name_sskel: virtual token_sskel
-#else
- struct name_sskel: token_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- name_sskel ();
- name_sskel (name_sskel* impl, void*);
-
- protected:
- name_sskel* name_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct nmtoken_sskel: virtual token_sskel
-#else
- struct nmtoken_sskel: token_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- nmtoken_sskel ();
- nmtoken_sskel (nmtoken_sskel* impl, void*);
-
- protected:
- nmtoken_sskel* nmtoken_impl_;
-#endif
- };
-
- struct nmtokens_sskel: simple_content
- {
- virtual void
- pre (const string_sequence*) = 0;
-
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- nmtokens_sskel ();
- nmtokens_sskel (nmtokens_sskel* impl, void*);
-
- protected:
- nmtokens_sskel* nmtokens_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct ncname_sskel: virtual name_sskel
-#else
- struct ncname_sskel: name_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- ncname_sskel ();
- ncname_sskel (ncname_sskel* impl, void*);
-
- protected:
- ncname_sskel* ncname_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct id_sskel: virtual ncname_sskel
-#else
- struct id_sskel: ncname_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- id_sskel ();
- id_sskel (id_sskel* impl, void*);
-
- protected:
- id_sskel* id_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct idref_sskel: virtual ncname_sskel
-#else
- struct idref_sskel: ncname_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- idref_sskel ();
- idref_sskel (idref_sskel* impl, void*);
-
- protected:
- idref_sskel* idref_impl_;
-#endif
- };
-
- struct idrefs_sskel: simple_content
- {
- virtual void
- pre (const string_sequence*) = 0;
-
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- idrefs_sskel ();
- idrefs_sskel (idrefs_sskel* impl, void*);
-
- protected:
- idrefs_sskel* idrefs_impl_;
-#endif
- };
-
-#ifdef XSDE_REUSE_STYLE_MIXIN
- struct language_sskel: virtual token_sskel
-#else
- struct language_sskel: token_sskel
-#endif
- {
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- language_sskel ();
- language_sskel (language_sskel* impl, void*);
-
- protected:
- language_sskel* language_impl_;
-#endif
- };
-
- struct uri_sskel: simple_content
- {
- virtual void
- pre (const std::string&) = 0;
-
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- uri_sskel ();
- uri_sskel (uri_sskel* impl, void*);
-
- protected:
- uri_sskel* uri_impl_;
-#endif
- };
-
- struct qname_sskel: simple_content
- {
- virtual void
- pre (const qname&) = 0;
-
-#ifdef XSDE_POLYMORPHIC
- static const char*
- _static_type ();
-
- virtual const char*
- _dynamic_type () const;
-#endif
-
-#ifdef XSDE_REUSE_STYLE_TIEIN
- qname_sskel ();
- qname_sskel (qname_sskel* impl, void*);
-
- protected:
- qname_sskel* qname_impl_;
-#endif
- };
-
-#else // XSDE_STL
-
- struct string_sskel: simple_content
- {
- virtual void
pre (const char*) = 0;
+#endif
#ifdef XSDE_POLYMORPHIC
static const char*
@@ -1249,7 +925,11 @@ namespace xsde
struct uri_sskel: simple_content
{
virtual void
+#ifdef XSDE_STL
+ pre (const std::string&) = 0;
+#else
pre (const char*) = 0;
+#endif
#ifdef XSDE_POLYMORPHIC
static const char*
@@ -1271,7 +951,11 @@ namespace xsde
struct qname_sskel: simple_content
{
virtual void
+#ifdef XSDE_STL
+ pre (const qname&) = 0;
+#else
pre (const qname*) = 0;
+#endif
#ifdef XSDE_POLYMORPHIC
static const char*
@@ -1290,9 +974,6 @@ namespace xsde
#endif
};
-#endif // XSDE_STL
-
-
// base64Binary
//
struct base64_binary_sskel: simple_content