aboutsummaryrefslogtreecommitdiff
path: root/libxsd/xsd/cxx/tree
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-02-22 14:44:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-02-22 14:44:30 +0200
commit2c0a77a8f4565b6ef76c32b970df48369b3d0456 (patch)
tree6c8d18b27efa644cf852cfdb42158864895ac5b9 /libxsd/xsd/cxx/tree
parent5a2282e394b4049d3db96c2c28e8622e7193a014 (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/xsd/cxx/tree')
-rw-r--r--libxsd/xsd/cxx/tree/comparison-map.txx2
-rw-r--r--libxsd/xsd/cxx/tree/parsing.txx13
-rw-r--r--libxsd/xsd/cxx/tree/serialization.txx12
-rw-r--r--libxsd/xsd/cxx/tree/std-ostream-map.txx2
-rw-r--r--libxsd/xsd/cxx/tree/std-ostream-operators.hxx4
-rw-r--r--libxsd/xsd/cxx/tree/stream-extraction-map.txx2
-rw-r--r--libxsd/xsd/cxx/tree/stream-extraction.hxx4
-rw-r--r--libxsd/xsd/cxx/tree/stream-insertion-map.txx2
-rw-r--r--libxsd/xsd/cxx/tree/stream-insertion.hxx4
-rw-r--r--libxsd/xsd/cxx/tree/type-factory-map.txx2
-rw-r--r--libxsd/xsd/cxx/tree/type-serializer-map.txx2
-rw-r--r--libxsd/xsd/cxx/tree/types.hxx2
-rw-r--r--libxsd/xsd/cxx/tree/types.txx16
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_ ()
{
}