मैं यह निर्धारित करना चाहता हूं कि कोई भिन्न वर्ग टेम्पलेट किसी अन्य वर्ग का आधार है या नहीं। आम तौर पर मैं std :: is_base_of का उपयोग करता हूं, लेकिन मुझे नहीं लगता कि मेरा उपयोग केस फिट बैठता है, और मुझे यकीन नहीं है कि एसडीडी में कुछ पहले से ही है या इसे संभालने के लिए बढ़ावा है। मैं वैरिएडिक बेस क्लास टेम्पलेट के पैरामीटर पैक को अन्य वैरिएडिक क्लास टेम्पलेट से आने के लिए चाहता हूं।विविधता टेम्पलेट पैरामीटर पैक निकालें और इसे किसी अन्य प्रकार के टेम्पलेट मेटा-फ़ंक्शन में किसी अन्य वैरिएड टेम्पलेट में उपयोग करें?
उपयोग::
is_variadic_base_of<
VarClassTemplA
, ClassDerivedFromA
, VarClassTemplB //Has param pack I want to use with ClassA
>::value;
हिम्मत:
//test for variadic base of non-variadic
template <template<typename...> class A, typename B, typename... ArgsC>
struct is_variadic_base_of
: std::is_base_of<A<ArgsC...>, B>
{};
इस संभव है यहां कुछ उदाहरण कोड उम्मीद है कि बताते हैं कि मुझे क्या करना चाहते है?
सुनिश्चित नहीं हैं कि यह कुछ भी बदल जाता है, लेकिन मैं 'VarTemplClassB' करने के लिए एक छोटे से संपादित किया था, अब यह है बस 'VarTemplClassB'। –
@ जोहान्स: बू, कुछ सेकंड! :( – Xeo
लॉल, मुझे नहीं पता कि मैंने कितने क्रमिक प्रयास किए हैं और इस पर जमीन नहीं ली है। सही काम करता है। धन्यवाद! –