From f0510d2f90467de8e8f260b47d79a9baaf9bef17 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 17 Sep 2009 07:15:29 +0200 Subject: Start tracking XSD with git --- .../cxx/parser/non-validating/xml-schema-pimpl.hxx | 791 +++++++++++++++++++++ 1 file changed, 791 insertions(+) create mode 100644 libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx (limited to 'libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx') diff --git a/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx b/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx new file mode 100644 index 0000000..0e8443d --- /dev/null +++ b/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx @@ -0,0 +1,791 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2009 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX + +#include + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + // any_type + // + template + struct any_type_pimpl: virtual any_type_pskel + { + virtual void + post_any_type (); + }; + + // any_simple_type + // + template + struct any_simple_type_pimpl: virtual any_simple_type_pskel + { + virtual void + post_any_simple_type (); + }; + + // boolean + // + template + struct boolean_pimpl: virtual boolean_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual bool + post_boolean (); + + protected: + std::basic_string str_; + }; + + + // 8-bit + // + template + struct byte_pimpl: virtual byte_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual signed char + post_byte (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_byte_pimpl: virtual unsigned_byte_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned char + post_unsigned_byte (); + + protected: + std::basic_string str_; + }; + + + // 16-bit + // + template + struct short_pimpl: virtual short_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual short + post_short (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_short_pimpl: virtual unsigned_short_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned short + post_unsigned_short (); + + protected: + std::basic_string str_; + }; + + + // 32-bit + // + template + struct int_pimpl: virtual int_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual int + post_int (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_int_pimpl: virtual unsigned_int_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned int + post_unsigned_int (); + + protected: + std::basic_string str_; + }; + + + // 64-bit + // + template + struct long_pimpl: virtual long_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_long (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_long_pimpl: virtual unsigned_long_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned long long + post_unsigned_long (); + + protected: + std::basic_string str_; + }; + + + // Arbitrary-length integers. + // + template + struct integer_pimpl: virtual integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_integer (); + + protected: + std::basic_string str_; + }; + + template + struct negative_integer_pimpl: virtual negative_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_negative_integer (); + + protected: + std::basic_string str_; + }; + + template + struct non_positive_integer_pimpl: virtual non_positive_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_non_positive_integer (); + + protected: + std::basic_string str_; + }; + + template + struct positive_integer_pimpl: virtual positive_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned long long + post_positive_integer (); + + protected: + std::basic_string str_; + }; + + template + struct non_negative_integer_pimpl: virtual non_negative_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned long long + post_non_negative_integer (); + + protected: + std::basic_string str_; + }; + + + // Floats. + // + template + struct float_pimpl: virtual float_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual float + post_float (); + + protected: + std::basic_string str_; + }; + + + template + struct double_pimpl: virtual double_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual double + post_double (); + + protected: + std::basic_string str_; + }; + + + template + struct decimal_pimpl: virtual decimal_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual double + post_decimal (); + + protected: + std::basic_string str_; + }; + + + // Strings. + // + template + struct string_pimpl: virtual string_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_string (); + + protected: + std::basic_string str_; + }; + + template + struct normalized_string_pimpl: virtual normalized_string_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_normalized_string (); + + protected: + std::basic_string str_; + }; + + template + struct token_pimpl: virtual token_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_token (); + + protected: + std::basic_string str_; + }; + + template + struct name_pimpl: virtual name_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_name (); + + protected: + std::basic_string str_; + }; + + template + struct nmtoken_pimpl: virtual nmtoken_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_nmtoken (); + + protected: + std::basic_string str_; + }; + + template + struct nmtokens_pimpl: virtual nmtokens_pskel + { + virtual void + _pre (); + + virtual void + _xsd_parse_item (const ro_string&); + + virtual string_sequence + post_nmtokens (); + + protected: + string_sequence seq_; + nmtoken_pimpl parser_; + }; + + template + struct ncname_pimpl: virtual ncname_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_ncname (); + + protected: + std::basic_string str_; + }; + + template + struct id_pimpl: virtual id_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_id (); + + protected: + std::basic_string str_; + }; + + template + struct idref_pimpl: virtual idref_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_idref (); + + protected: + std::basic_string str_; + }; + + template + struct idrefs_pimpl: virtual idrefs_pskel + { + virtual void + _pre (); + + virtual void + _xsd_parse_item (const ro_string&); + + virtual string_sequence + post_idrefs (); + + protected: + string_sequence seq_; + idref_pimpl parser_; + }; + + // language + // + template + struct language_pimpl: virtual language_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_language (); + + protected: + std::basic_string str_; + }; + + // anyURI + // + template + struct uri_pimpl: virtual uri_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_uri (); + + protected: + std::basic_string str_; + }; + + // QName + // + template + struct qname_pimpl: virtual qname_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual qname + post_qname (); + + protected: + std::basic_string str_; + }; + + // base64Binary + // + template + struct base64_binary_pimpl: virtual base64_binary_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::auto_ptr + post_base64_binary (); + + protected: + std::basic_string str_; + }; + + // hexBinary + // + template + struct hex_binary_pimpl: virtual hex_binary_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::auto_ptr + post_hex_binary (); + + protected: + std::basic_string str_; + }; + + // gday + // + template + struct gday_pimpl: virtual gday_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gday + post_gday (); + + protected: + std::basic_string str_; + }; + + // gmonth + // + template + struct gmonth_pimpl: virtual gmonth_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gmonth + post_gmonth (); + + protected: + std::basic_string str_; + }; + + // gyear + // + template + struct gyear_pimpl: virtual gyear_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gyear + post_gyear (); + + protected: + std::basic_string str_; + }; + + // gmonth_day + // + template + struct gmonth_day_pimpl: virtual gmonth_day_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gmonth_day + post_gmonth_day (); + + protected: + std::basic_string str_; + }; + + // gyear_month + // + template + struct gyear_month_pimpl: virtual gyear_month_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gyear_month + post_gyear_month (); + + protected: + std::basic_string str_; + }; + + // date + // + template + struct date_pimpl: virtual date_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual date + post_date (); + + protected: + std::basic_string str_; + }; + + // time + // + template + struct time_pimpl: virtual time_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual time + post_time (); + + protected: + std::basic_string str_; + }; + + // date_time + // + template + struct date_time_pimpl: virtual date_time_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual date_time + post_date_time (); + + protected: + std::basic_string str_; + }; + + // duration + // + template + struct duration_pimpl: virtual duration_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual duration + post_duration (); + + protected: + std::basic_string str_; + }; + + // + // + namespace bits + { + // float literals: INF -INF NaN + // + template + const C* + positive_inf (); + + template + const C* + negative_inf (); + + template + const C* + nan (); + + // boolean literals + // + template + const C* + true_ (); + + template + const C* + one (); + } + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX + +#include -- cgit v1.1