मैं एक विन्यास प्रबंधक वर्ग बनाने की कोशिश कर रहा हूं, जो std :: string द्वारा मनमानी वस्तुओं को स्टोर कर सकता है।किसी सार तत्व श्रेणी में टेम्पलेट फ़ंक्शन करने का कोई तरीका?
मेरी इंटरफेस (सार आधार वर्ग) के लिए मेरे प्रारंभिक विचार था इस (जाहिर है इस बुरी तरह अधूरा है)
class ConfigurationManager
{
public:
static boost::shared_ptr<ConfigurationManager> create();
template<typename T>
virtual T getOption(const std::string& name) = 0;
};
लेकिन तब मेरी संकलक ने बताया कि टेम्पलेट की आभासी नहीं किया जा सकता (और फिर मुझे एहसास हुआ कि मैं वैसे भी निर्यात टेम्पलेट्स नहीं हो सकता है)।
आंतरिक रूप से मैं बूस्ट :: किसी भी (बहुत अधिक रनटाइम चेक * *) का उपयोग करने जा रहा हूं, लेकिन मैं अपने इंटरफ़ेस में किसी भी बूस्ट :: को बेनकाब नहीं करना चाहता हूं।
इस बारे में जाने का सबसे अच्छा तरीका क्या होगा?
किस बारे में जाने के लिए, ठीक है? –
@ ओली मैंने अपने प्रश्न में पोस्ट किए गए वाक्य रचनात्मक रूप से असंभव इंटरफ़ेस को अनुकरण करने के लिए। – Lalaland
तो आप पॉलिमॉर्फिक फ़ंक्शन टेम्पलेट्स करना चाहते हैं, भले ही वे वास्तव में संभव न हों? –