diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-02-22 14:44:30 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-02-22 14:44:30 +0200 |
commit | 2c0a77a8f4565b6ef76c32b970df48369b3d0456 (patch) | |
tree | 6c8d18b27efa644cf852cfdb42158864895ac5b9 /libxsd | |
parent | 5a2282e394b4049d3db96c2c28e8622e7193a014 (diff) |
Add support for excluding export code from compilation
Affected options: --generate-xml-schema, --export-maps,
--import-maps. New macros: XSD_NO_EXPORT, XSD_MAP_VISIBILITY.
Reorder template arguments for the idref type.
Diffstat (limited to 'libxsd')
-rw-r--r-- | libxsd/xsd/cxx/tree/comparison-map.txx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/parsing.txx | 13 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/serialization.txx | 12 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/std-ostream-map.txx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/std-ostream-operators.hxx | 4 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/stream-extraction-map.txx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/stream-extraction.hxx | 4 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/stream-insertion-map.txx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/stream-insertion.hxx | 4 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/type-factory-map.txx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/type-serializer-map.txx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/types.hxx | 2 | ||||
-rw-r--r-- | libxsd/xsd/cxx/tree/types.txx | 16 |
13 files changed, 33 insertions, 34 deletions
diff --git a/libxsd/xsd/cxx/tree/comparison-map.txx b/libxsd/xsd/cxx/tree/comparison-map.txx index eaccb0d..e638ed4 100644 --- a/libxsd/xsd/cxx/tree/comparison-map.txx +++ b/libxsd/xsd/cxx/tree/comparison-map.txx @@ -92,7 +92,7 @@ namespace xsd &comparator_impl<id>, false); - typedef idref<type, C, ncname> idref; + typedef idref<C, ncname, type> idref; register_type ( typeid (idref), &comparator_impl<idref>, diff --git a/libxsd/xsd/cxx/tree/parsing.txx b/libxsd/xsd/cxx/tree/parsing.txx index 642307a..8da53b9 100644 --- a/libxsd/xsd/cxx/tree/parsing.txx +++ b/libxsd/xsd/cxx/tree/parsing.txx @@ -638,22 +638,22 @@ namespace xsd // idref // - template <typename T, typename C, typename B> - idref<T, C, B>:: + template <typename C, typename B, typename T> + idref<C, B, T>:: idref (const xercesc::DOMElement& e, flags f, container* c) : base_type (e, f, c), identity_ (*this) { } - template <typename T, typename C, typename B> - idref<T, C, B>:: + template <typename C, typename B, typename T> + idref<C, B, T>:: idref (const xercesc::DOMAttr& a, flags f, container* c) : base_type (a, f , c), identity_ (*this) { } - template <typename T, typename C, typename B> - idref<T, C, B>:: + template <typename C, typename B, typename T> + idref<C, B, T>:: idref (const std::basic_string<C>& s, const xercesc::DOMElement* e, flags f, @@ -663,7 +663,6 @@ namespace xsd } - // idrefs // template <typename C, typename B, typename idref> diff --git a/libxsd/xsd/cxx/tree/serialization.txx b/libxsd/xsd/cxx/tree/serialization.txx index 322febe..29364f4 100644 --- a/libxsd/xsd/cxx/tree/serialization.txx +++ b/libxsd/xsd/cxx/tree/serialization.txx @@ -533,23 +533,23 @@ namespace xsd // idref // - template <typename T, typename C, typename B> + template <typename C, typename B, typename T> inline void - operator<< (xercesc::DOMElement& e, const idref<T, C, B>& x) + operator<< (xercesc::DOMElement& e, const idref<C, B, T>& x) { bits::insert<C> (e, x); } - template <typename T, typename C, typename B> + template <typename C, typename B, typename T> inline void - operator<< (xercesc::DOMAttr& a, const idref<T, C, B>& x) + operator<< (xercesc::DOMAttr& a, const idref<C, B, T>& x) { bits::insert<C> (a, x); } - template <typename T, typename C, typename B> + template <typename C, typename B, typename T> inline void - operator<< (list_stream<C>& ls, const idref<T, C, B>& x) + operator<< (list_stream<C>& ls, const idref<C, B, T>& x) { ls.os_ << x; } diff --git a/libxsd/xsd/cxx/tree/std-ostream-map.txx b/libxsd/xsd/cxx/tree/std-ostream-map.txx index 6d8ae83..6a748ec 100644 --- a/libxsd/xsd/cxx/tree/std-ostream-map.txx +++ b/libxsd/xsd/cxx/tree/std-ostream-map.txx @@ -91,7 +91,7 @@ namespace xsd &inserter_impl<C, id>, false); - typedef idref<type, C, ncname> idref; + typedef idref<C, ncname, type> idref; register_type ( typeid (idref), &inserter_impl<C, idref>, diff --git a/libxsd/xsd/cxx/tree/std-ostream-operators.hxx b/libxsd/xsd/cxx/tree/std-ostream-operators.hxx index bf6db54..a7ab357 100644 --- a/libxsd/xsd/cxx/tree/std-ostream-operators.hxx +++ b/libxsd/xsd/cxx/tree/std-ostream-operators.hxx @@ -180,9 +180,9 @@ namespace xsd // idref // - template <typename T, typename C, typename B> + template <typename C, typename B, typename T> inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const idref<T, C, B>& v) + operator<< (std::basic_ostream<C>& os, const idref<C, B, T>& v) { const B& r (v); return os << r; diff --git a/libxsd/xsd/cxx/tree/stream-extraction-map.txx b/libxsd/xsd/cxx/tree/stream-extraction-map.txx index c2dc116..a4e429e 100644 --- a/libxsd/xsd/cxx/tree/stream-extraction-map.txx +++ b/libxsd/xsd/cxx/tree/stream-extraction-map.txx @@ -97,7 +97,7 @@ namespace xsd &extractor_impl<S, id>, false); - typedef idref<type, C, ncname> idref; + typedef idref<C, ncname, type> idref; register_type ( qualified_name (bits::idref<C> (), xsd), &extractor_impl<S, idref>, diff --git a/libxsd/xsd/cxx/tree/stream-extraction.hxx b/libxsd/xsd/cxx/tree/stream-extraction.hxx index 1927157..a7106e7 100644 --- a/libxsd/xsd/cxx/tree/stream-extraction.hxx +++ b/libxsd/xsd/cxx/tree/stream-extraction.hxx @@ -204,9 +204,9 @@ namespace xsd // idref // - template <typename T, typename C, typename B> + template <typename C, typename B, typename T> template <typename S> - inline idref<T, C, B>:: + inline idref<C, B, T>:: idref (istream<S>& s, flags f, container* c) : B (s, f, c), identity_ (*this) { diff --git a/libxsd/xsd/cxx/tree/stream-insertion-map.txx b/libxsd/xsd/cxx/tree/stream-insertion-map.txx index 7107a80..07bfa8b 100644 --- a/libxsd/xsd/cxx/tree/stream-insertion-map.txx +++ b/libxsd/xsd/cxx/tree/stream-insertion-map.txx @@ -108,7 +108,7 @@ namespace xsd &inserter_impl<S, id>, false); - typedef idref<type, C, ncname> idref; + typedef idref<C, ncname, type> idref; register_type ( typeid (idref), qualified_name (bits::idref<C> (), xsd), diff --git a/libxsd/xsd/cxx/tree/stream-insertion.hxx b/libxsd/xsd/cxx/tree/stream-insertion.hxx index cfec1d9..c345e80 100644 --- a/libxsd/xsd/cxx/tree/stream-insertion.hxx +++ b/libxsd/xsd/cxx/tree/stream-insertion.hxx @@ -177,9 +177,9 @@ namespace xsd // idref // - template <typename S, typename T, typename C, typename B> + template <typename S, typename C, typename B, typename T> inline ostream<S>& - operator<< (ostream<S>& s, const idref<T, C, B>& x) + operator<< (ostream<S>& s, const idref<C, B, T>& x) { const B& r (x); return s << r; diff --git a/libxsd/xsd/cxx/tree/type-factory-map.txx b/libxsd/xsd/cxx/tree/type-factory-map.txx index be5549d..b9e0a06 100644 --- a/libxsd/xsd/cxx/tree/type-factory-map.txx +++ b/libxsd/xsd/cxx/tree/type-factory-map.txx @@ -104,7 +104,7 @@ namespace xsd &factory_impl<id>, false); - typedef idref<type, C, ncname> idref; + typedef idref<C, ncname, type> idref; register_type ( qualified_name (bits::idref<C> (), xsd), &factory_impl<idref>, diff --git a/libxsd/xsd/cxx/tree/type-serializer-map.txx b/libxsd/xsd/cxx/tree/type-serializer-map.txx index 9ee673a..859331f 100644 --- a/libxsd/xsd/cxx/tree/type-serializer-map.txx +++ b/libxsd/xsd/cxx/tree/type-serializer-map.txx @@ -115,7 +115,7 @@ namespace xsd &serializer_impl<id>, false); - typedef idref<type, C, ncname> idref; + typedef idref<C, ncname, type> idref; register_type ( typeid (idref), qualified_name (bits::idref<C> (), xsd), diff --git a/libxsd/xsd/cxx/tree/types.hxx b/libxsd/xsd/cxx/tree/types.hxx index e6dc5a4..299824f 100644 --- a/libxsd/xsd/cxx/tree/types.hxx +++ b/libxsd/xsd/cxx/tree/types.hxx @@ -2133,7 +2133,7 @@ namespace xsd * * @nosubgrouping */ - template <typename T, typename C, typename B> + template <typename C, typename B, typename T> class idref: public B { typedef B base_type; diff --git a/libxsd/xsd/cxx/tree/types.txx b/libxsd/xsd/cxx/tree/types.txx index a13a466..8d6d79f 100644 --- a/libxsd/xsd/cxx/tree/types.txx +++ b/libxsd/xsd/cxx/tree/types.txx @@ -204,8 +204,8 @@ namespace xsd // idref // - template <typename T, typename C, typename B> - idref<T, C, B>* idref<T, C, B>:: + template <typename C, typename B, typename T> + idref<C, B, T>* idref<C, B, T>:: _clone (flags f, container* c) const { return new idref (*this, f, c); @@ -216,8 +216,8 @@ namespace xsd // non-trivial to track down cases. So we are going to use the // old-n-ugly this-> techniques. // - template <typename T, typename C, typename B> - const _type* idref<T, C, B>:: + template <typename C, typename B, typename T> + const _type* idref<C, B, T>:: get_ () const { if (!this->empty () && this->_container () != 0) @@ -228,8 +228,8 @@ namespace xsd return 0; } - template <typename T, typename C, typename B> - _type* idref<T, C, B>:: + template <typename C, typename B, typename T> + _type* idref<C, B, T>:: get_ () { if (!this->empty () && this->_container () != 0) @@ -240,8 +240,8 @@ namespace xsd return 0; } - template <typename T, typename C, typename B> - void idref<T, C, B>:: + template <typename C, typename B, typename T> + void idref<C, B, T>:: true_ () { } |