From 65cfe4bb8b504749a4d199b258f5f5254a08ed64 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 8 Feb 2010 15:54:12 +0200 Subject: Add support for default values of anySimpleType type --- libxsd/xsd/cxx/tree/elements.hxx | 13 ++++++++++--- libxsd/xsd/cxx/tree/elements.ixx | 29 +++++++++++++++++++++++++++++ xsd/cxx/tree/default-value.cxx | 3 ++- 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 libxsd/xsd/cxx/tree/elements.ixx diff --git a/libxsd/xsd/cxx/tree/elements.hxx b/libxsd/xsd/cxx/tree/elements.hxx index 7489872..403fdb3 100644 --- a/libxsd/xsd/cxx/tree/elements.hxx +++ b/libxsd/xsd/cxx/tree/elements.hxx @@ -982,9 +982,15 @@ namespace xsd /** * @brief Default constructor. */ - simple_type () - { - } + simple_type (); + + /** + * @brief Create an instance from a string. + * + * @param s A string to initialize the instance with. + */ + template + simple_type (const C* s); public: /** @@ -1478,6 +1484,7 @@ namespace xsd } } +#include #include #endif // XSD_CXX_TREE_ELEMENTS_HXX diff --git a/libxsd/xsd/cxx/tree/elements.ixx b/libxsd/xsd/cxx/tree/elements.ixx new file mode 100644 index 0000000..e4dd60a --- /dev/null +++ b/libxsd/xsd/cxx/tree/elements.ixx @@ -0,0 +1,29 @@ +// file : xsd/cxx/tree/elements.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace tree + { + // simple_type + // + + template + inline simple_type:: + simple_type () + { + } + + template + template + inline simple_type:: + simple_type (const C*) + { + } + } + } +} diff --git a/xsd/cxx/tree/default-value.cxx b/xsd/cxx/tree/default-value.cxx index 35c5e49..ff964d3 100644 --- a/xsd/cxx/tree/default-value.cxx +++ b/xsd/cxx/tree/default-value.cxx @@ -463,8 +463,9 @@ namespace CXX // anySimpleType. // Void InitValue:: - traverse (SemanticGraph::AnySimpleType&) + traverse (SemanticGraph::AnySimpleType& t) { + os << fq_name (t) << " (" << strlit (value_) << ")"; } // Strings. -- cgit v1.1