namespaceQHashPrivate{template<typename>int b;structData;}// namespace QHashPrivate
structQDomNodePrivate{};template<typename=struct QString>structQMultiHash{
QHashPrivate::Data *d =nullptr;};structQDomNamedNodeMapPrivate{
QMultiHash<> map;};structQDomElementPrivate:QDomNodePrivate{QDomElementPrivate();voidimportee();
QMultiHash<>*m_attr =nullptr;};// --------- common part end ---------
QDomElementPrivate::QDomElementPrivate():m_attr{new QMultiHash<>}{}voidQDomElementPrivate::importee(){(void)QMultiHash<>{};}structfoo{
QDomElementPrivate m ={};staticconstint value =(QHashPrivate::b<foo>,22);};