diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-03-28 12:04:39 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-03-28 12:04:39 +0200 |
commit | c2d201480002a24c05f1f4bc934036555b79cad6 (patch) | |
tree | 056d565a1a878eb154faa6f028072ca84c2356aa | |
parent | 27e27f0758170fe2607e34f7d89dbd6700a9bf76 (diff) |
Avoid repetition in string-based skeleton definitions
4 files changed, 108 insertions, 1247 deletions
diff --git a/libxsde/xsde/cxx/parser/non-validating/xml-schema-pskel.hxx b/libxsde/xsde/cxx/parser/non-validating/xml-schema-pskel.hxx index 21bddec..5f28434 100644 --- a/libxsde/xsde/cxx/parser/non-validating/xml-schema-pskel.hxx +++ b/libxsde/xsde/cxx/parser/non-validating/xml-schema-pskel.hxx @@ -547,13 +547,16 @@ namespace xsde }; - // String-based types. + // String-based types. If STL is disabled you are getting a C + // string that you have to delete with delete[]. // -#ifdef XSDE_STL - struct string_pskel: simple_content { +#ifdef XSDE_STL virtual std::string +#else + virtual char* +#endif post_string () = 0; #ifdef XSDE_POLYMORPHIC @@ -575,299 +578,11 @@ namespace xsde struct normalized_string_pskel: simple_content { +#ifdef XSDE_STL virtual std::string - post_normalized_string () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - normalized_string_pskel (); - normalized_string_pskel (normalized_string_pskel* impl, void*); - - protected: - normalized_string_pskel* normalized_string_impl_; -#endif - }; - - struct token_pskel: simple_content - { - virtual std::string - post_token () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - token_pskel (); - token_pskel (token_pskel* impl, void*); - - protected: - token_pskel* token_impl_; -#endif - }; - - struct name_pskel: simple_content - { - virtual std::string - post_name () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - name_pskel (); - name_pskel (name_pskel* impl, void*); - - protected: - name_pskel* name_impl_; -#endif - }; - - struct nmtoken_pskel: simple_content - { - virtual std::string - post_nmtoken () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - nmtoken_pskel (); - nmtoken_pskel (nmtoken_pskel* impl, void*); - - protected: - nmtoken_pskel* nmtoken_impl_; -#endif - }; - - struct nmtokens_pskel: list_base - { - virtual string_sequence* - post_nmtokens () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - nmtokens_pskel (); - nmtokens_pskel (nmtokens_pskel* impl, void*); - - protected: - nmtokens_pskel* nmtokens_impl_; -#endif - }; - - struct ncname_pskel: simple_content - { - virtual std::string - post_ncname () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - ncname_pskel (); - ncname_pskel (ncname_pskel* impl, void*); - - protected: - ncname_pskel* ncname_impl_; -#endif - }; - - struct id_pskel: simple_content - { - virtual std::string - post_id () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - id_pskel (); - id_pskel (id_pskel* impl, void*); - - protected: - id_pskel* id_impl_; -#endif - }; - - struct idref_pskel: simple_content - { - virtual std::string - post_idref () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - idref_pskel (); - idref_pskel (idref_pskel* impl, void*); - - protected: - idref_pskel* idref_impl_; -#endif - }; - - struct idrefs_pskel: list_base - { - virtual string_sequence* - post_idrefs () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - idrefs_pskel (); - idrefs_pskel (idrefs_pskel* impl, void*); - - protected: - idrefs_pskel* idrefs_impl_; -#endif - }; - - struct language_pskel: simple_content - { - virtual std::string - post_language () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - language_pskel (); - language_pskel (language_pskel* impl, void*); - - protected: - language_pskel* language_impl_; -#endif - }; - - struct uri_pskel: simple_content - { - virtual std::string - post_uri () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - uri_pskel (); - uri_pskel (uri_pskel* impl, void*); - - protected: - uri_pskel* uri_impl_; -#endif - }; - - struct qname_pskel: simple_content - { - virtual qname - post_qname () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - qname_pskel (); - qname_pskel (qname_pskel* impl, void*); - - protected: - qname_pskel* qname_impl_; -#endif - }; - -#else // XSDE_STL - - // Note that in this case you are getting a C string that you - // have to delete with delete[]. - // - - struct string_pskel: simple_content - { +#else virtual char* - post_string () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - string_pskel (); - string_pskel (string_pskel* impl, void*); - - protected: - string_pskel* string_impl_; #endif - }; - - struct normalized_string_pskel: simple_content - { - virtual char* post_normalized_string () = 0; #ifdef XSDE_POLYMORPHIC @@ -889,7 +604,11 @@ namespace xsde struct token_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_token () = 0; #ifdef XSDE_POLYMORPHIC @@ -911,7 +630,11 @@ namespace xsde struct name_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_name () = 0; #ifdef XSDE_POLYMORPHIC @@ -933,7 +656,11 @@ namespace xsde struct nmtoken_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_nmtoken () = 0; #ifdef XSDE_POLYMORPHIC @@ -977,7 +704,11 @@ namespace xsde struct ncname_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_ncname () = 0; #ifdef XSDE_POLYMORPHIC @@ -999,7 +730,11 @@ namespace xsde struct id_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_id () = 0; #ifdef XSDE_POLYMORPHIC @@ -1021,7 +756,11 @@ namespace xsde struct idref_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_idref () = 0; #ifdef XSDE_POLYMORPHIC @@ -1065,7 +804,11 @@ namespace xsde struct language_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_language () = 0; #ifdef XSDE_POLYMORPHIC @@ -1087,7 +830,11 @@ namespace xsde struct uri_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_uri () = 0; #ifdef XSDE_POLYMORPHIC @@ -1109,7 +856,11 @@ namespace xsde struct qname_pskel: simple_content { +#ifdef XSDE_STL + virtual qname +#else virtual qname* +#endif post_qname () = 0; #ifdef XSDE_POLYMORPHIC @@ -1128,8 +879,6 @@ namespace xsde qname_pskel* qname_impl_; #endif }; -#endif // XSDE_STL - // base64Binary // diff --git a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx index 24a7759..1e05778 100644 --- a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx +++ b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx @@ -653,13 +653,16 @@ namespace xsde }; - // String-based types. + // String-based types. If STL is disabled you are getting a C + // string that you have to delete with delete[]. // -#ifdef XSDE_STL - struct string_pskel: simple_content { +#ifdef XSDE_STL virtual std::string +#else + virtual char* +#endif post_string () = 0; #ifdef XSDE_POLYMORPHIC @@ -711,328 +714,11 @@ namespace xsde struct normalized_string_pskel: simple_content { +#ifdef XSDE_STL virtual std::string - post_normalized_string () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - normalized_string_pskel (); - normalized_string_pskel (normalized_string_pskel* impl, void*); - - protected: - normalized_string_pskel* normalized_string_impl_; -#endif - }; - - struct token_pskel: simple_content - { - virtual std::string - post_token () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - token_pskel (); - token_pskel (token_pskel* impl, void*); - - protected: - token_pskel* token_impl_; -#endif - }; - - struct name_pskel: simple_content - { - virtual std::string - post_name () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - name_pskel (); - name_pskel (name_pskel* impl, void*); - - protected: - name_pskel* name_impl_; -#endif - }; - - struct nmtoken_pskel: simple_content - { - virtual std::string - post_nmtoken () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - nmtoken_pskel (); - nmtoken_pskel (nmtoken_pskel* impl, void*); - - protected: - nmtoken_pskel* nmtoken_impl_; -#endif - }; - - struct nmtokens_pskel: list_base - { - virtual string_sequence* - post_nmtokens () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - nmtokens_pskel (); - nmtokens_pskel (nmtokens_pskel* impl, void*); - - protected: - nmtokens_pskel* nmtokens_impl_; -#endif - }; - - struct ncname_pskel: simple_content - { - virtual std::string - post_ncname () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - ncname_pskel (); - ncname_pskel (ncname_pskel* impl, void*); - - protected: - ncname_pskel* ncname_impl_; -#endif - }; - - struct id_pskel: simple_content - { - virtual std::string - post_id () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - id_pskel (); - id_pskel (id_pskel* impl, void*); - - protected: - id_pskel* id_impl_; -#endif - }; - - struct idref_pskel: simple_content - { - virtual std::string - post_idref () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - idref_pskel (); - idref_pskel (idref_pskel* impl, void*); - - protected: - idref_pskel* idref_impl_; -#endif - }; - - struct idrefs_pskel: list_base - { - virtual string_sequence* - post_idrefs () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - idrefs_pskel (); - idrefs_pskel (idrefs_pskel* impl, void*); - - protected: - idrefs_pskel* idrefs_impl_; -#endif - }; - - struct language_pskel: simple_content - { - virtual std::string - post_language () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - language_pskel (); - language_pskel (language_pskel* impl, void*); - - protected: - language_pskel* language_impl_; -#endif - }; - - struct uri_pskel: simple_content - { - virtual std::string - post_uri () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - uri_pskel (); - uri_pskel (uri_pskel* impl, void*); - - protected: - uri_pskel* uri_impl_; -#endif - }; - - struct qname_pskel: simple_content - { - virtual qname - post_qname () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; -#endif - -#ifdef XSDE_REUSE_STYLE_TIEIN - qname_pskel (); - qname_pskel (qname_pskel* impl, void*); - - protected: - qname_pskel* qname_impl_; -#endif - }; - -#else // XSDE_STL - - // Note that in this case you are getting a C string that you - // have to delete with delete[]. - // - struct string_pskel: simple_content - { +#else virtual char* - post_string () = 0; - -#ifdef XSDE_POLYMORPHIC - static const char* - _static_type (); - - virtual const char* - _dynamic_type () const; #endif - - string_pskel (); - -#ifdef XSDE_REUSE_STYLE_TIEIN - string_pskel (string_pskel* impl, void*); - - protected: - string_pskel* 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_; - }; - - struct normalized_string_pskel: simple_content - { - virtual char* post_normalized_string () = 0; #ifdef XSDE_POLYMORPHIC @@ -1054,7 +740,11 @@ namespace xsde struct token_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_token () = 0; #ifdef XSDE_POLYMORPHIC @@ -1076,7 +766,11 @@ namespace xsde struct name_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_name () = 0; #ifdef XSDE_POLYMORPHIC @@ -1098,7 +792,11 @@ namespace xsde struct nmtoken_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_nmtoken () = 0; #ifdef XSDE_POLYMORPHIC @@ -1142,7 +840,11 @@ namespace xsde struct ncname_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_ncname () = 0; #ifdef XSDE_POLYMORPHIC @@ -1164,7 +866,11 @@ namespace xsde struct id_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_id () = 0; #ifdef XSDE_POLYMORPHIC @@ -1186,7 +892,11 @@ namespace xsde struct idref_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_idref () = 0; #ifdef XSDE_POLYMORPHIC @@ -1230,7 +940,11 @@ namespace xsde struct language_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_language () = 0; #ifdef XSDE_POLYMORPHIC @@ -1252,7 +966,11 @@ namespace xsde struct uri_pskel: simple_content { +#ifdef XSDE_STL + virtual std::string +#else virtual char* +#endif post_uri () = 0; #ifdef XSDE_POLYMORPHIC @@ -1274,7 +992,11 @@ namespace xsde struct qname_pskel: simple_content { +#ifdef XSDE_STL + virtual qname +#else virtual qname* +#endif post_qname () = 0; #ifdef XSDE_POLYMORPHIC @@ -1293,8 +1015,6 @@ namespace xsde qname_pskel* qname_impl_; #endif }; -#endif // XSDE_STL - // base64Binary // diff --git a/libxsde/xsde/cxx/serializer/non-validating/xml-schema-sskel.hxx b/libxsde/xsde/cxx/serializer/non-validating/xml-schema-sskel.hxx index cff270e..9a72338 100644 --- a/libxsde/xsde/cxx/serializer/non-validating/xml-schema-sskel.hxx +++ b/libxsde/xsde/cxx/serializer/non-validating/xml-schema-sskel.hxx @@ -530,308 +530,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 - -#ifdef XSDE_REUSE_STYLE_TIEIN - string_sskel (); - string_sskel (string_sskel* impl, void*); - - protected: - string_sskel* string_impl_; -#endif - }; - -#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* @@ -1081,7 +787,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* @@ -1103,7 +813,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* @@ -1122,9 +836,6 @@ namespace xsde #endif }; -#endif // XSDE_STL - - // base64Binary // struct base64_binary_sskel: simple_content 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 |