// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx // copyright : Copyright (c) 2005-2017 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 // XSD_AUTO_PTR #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 XSD_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 XSD_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