diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-12-10 11:24:56 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-12-10 11:24:56 +0200 |
commit | 2a700917616a2cc0e751adb76d8f71348a80b0d8 (patch) | |
tree | f688bd1ea8eb669ed75b5a0a4ff922b3fc70cd36 /libxsd/xsd/cxx/tree/type-factory-map.hxx | |
parent | 2f0f77b511a3dae214d084105a4277ea0009300b (diff) |
Enter abstract elements into substitution map
We cannot just omit them because they may serve as "links" between the
root of the substitution group and non-abstract elements that use these
elements as their roots.
Diffstat (limited to 'libxsd/xsd/cxx/tree/type-factory-map.hxx')
-rw-r--r-- | libxsd/xsd/cxx/tree/type-factory-map.hxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libxsd/xsd/cxx/tree/type-factory-map.hxx b/libxsd/xsd/cxx/tree/type-factory-map.hxx index e20acfe..d52982f 100644 --- a/libxsd/xsd/cxx/tree/type-factory-map.hxx +++ b/libxsd/xsd/cxx/tree/type-factory-map.hxx @@ -150,11 +150,14 @@ namespace xsd // // - template<unsigned long id, typename C, typename T> + template<unsigned long id, typename C> struct element_factory_initializer { + typedef typename type_factory_map<C>::factory factory; + element_factory_initializer (const C* root_name, const C* root_ns, - const C* subst_name, const C* subst_ns); + const C* subst_name, const C* subst_ns, + factory); ~element_factory_initializer (); |