summaryrefslogtreecommitdiff
path: root/libxsd/xsd/cxx/tree/stream-extraction-map.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-12-02 12:26:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-12-02 12:26:05 +0200
commitee4eb695119bce96515b330f9fc83ddd67da5c62 (patch)
tree817bf37d4b0f0fb89e785004c41b4c6928228f79 /libxsd/xsd/cxx/tree/stream-extraction-map.hxx
parentc155e6925211747af9a13a5994c2f768c5048971 (diff)
Implement de-registering polymorphic type information
This is required for DLL/shared library unloading.
Diffstat (limited to 'libxsd/xsd/cxx/tree/stream-extraction-map.hxx')
-rw-r--r--libxsd/xsd/cxx/tree/stream-extraction-map.hxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/libxsd/xsd/cxx/tree/stream-extraction-map.hxx b/libxsd/xsd/cxx/tree/stream-extraction-map.hxx
index 14a5423..5d31b6a 100644
--- a/libxsd/xsd/cxx/tree/stream-extraction-map.hxx
+++ b/libxsd/xsd/cxx/tree/stream-extraction-map.hxx
@@ -35,6 +35,9 @@ namespace xsd
extractor,
bool override = true);
+ void
+ unregister_type (const qualified_name& name);
+
std::auto_ptr<type>
extract (istream<S>&, flags, container*);
@@ -87,6 +90,11 @@ namespace xsd
struct stream_extraction_initializer
{
stream_extraction_initializer (const C* name, const C* ns);
+ ~stream_extraction_initializer ();
+
+ private:
+ const C* name_;
+ const C* ns_;
};
}
}