diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2014-04-10 12:57:06 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-04-10 12:57:06 +0200 |
commit | 884dea7531962b17ef843ac2175faa050e8b0758 (patch) | |
tree | d70950ab2a6f314b06f37faa67252678ce3007b1 /libxsd/xsd/cxx/tree/elements.hxx | |
parent | 0f6ff689dc6bae8fed94da0fcabd39f015e7a62b (diff) |
Add support for ordered types, mixed content
Diffstat (limited to 'libxsd/xsd/cxx/tree/elements.hxx')
-rw-r--r-- | libxsd/xsd/cxx/tree/elements.hxx | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/libxsd/xsd/cxx/tree/elements.hxx b/libxsd/xsd/cxx/tree/elements.hxx index 6270c40..89be61e 100644 --- a/libxsd/xsd/cxx/tree/elements.hxx +++ b/libxsd/xsd/cxx/tree/elements.hxx @@ -21,6 +21,7 @@ #include <map> #include <string> #include <memory> // std::auto_ptr/unique_ptr +#include <cstddef> // std::size_t #include <istream> #include <sstream> #include <cassert> @@ -190,7 +191,6 @@ namespace xsd unsigned long x_; }; - // Parsing properties. Refer to xsd/cxx/xml/elements.hxx for XML- // related properties. // @@ -199,6 +199,44 @@ namespace xsd { }; + /** + * @brief Content order sequence entry. + * + * @nosubgrouping + */ + struct content_order + { + /** + * @brief Initialize an instance with passed id and index. + * + * @param id Content id. + * @param index Content index in the corresponding sequence. + */ + content_order (std::size_t id, std::size_t index = 0) + : id (id), index (index) + { + } + + /** + * @brief Content id. + */ + std::size_t id; + + /** + * @brief Content index. + */ + std::size_t index; + }; + + bool + operator== (const content_order&, const content_order&); + + bool + operator!= (const content_order&, const content_order&); + + bool + operator< (const content_order&, const content_order&); + //@cond // DOM user data keys. |