यह सुंदर प्रिंटिंग एसटीएल कंटेनरों पर मेरे पिछले प्रश्न का अनुवर्ती है , जिसके लिए हम एक बहुत ही सुंदर और पूरी तरह से सामान्य समाधान विकसित करने में कामयाब रहे।
इस अगले चरण में, मैं std::tuple<Args...>
वैरेडिक टेम्प्लेट का उपयोग करते हुए सुंदर-प्रिंटिंग को शामिल करना चाहूंगा (इसलिए यह कड़ाई से C ++ 11 है)। के लिए std::pair<S,T>
, मैं बस कहता हूँ
std::ostream & operator<<(std::ostream & o, const std::pair<S,T> & p)
{
return o << "(" << p.first << ", " << p.second << ")";
}
ट्यूपल की छपाई के लिए अनुरूप निर्माण क्या है?
मैंने टेम्पलेट तर्क स्टैक अनपैकिंग के विभिन्न बिट्स की कोशिश की है, चारों ओर सूचकांकों को पास करना और यह पता लगाने के लिए SFINAE का उपयोग करना कि जब मैं अंतिम तत्व पर हूं, लेकिन कोई सफलता नहीं है। मैं अपने टूटे हुए कोड के साथ आप पर बोझ नहीं डालूंगा; समस्या का वर्णन उम्मीद है कि सीधे-सीधे पर्याप्त है। अनिवार्य रूप से, मुझे निम्न व्यवहार पसंद आएगा:
auto a = std::make_tuple(5, "Hello", -0.1);
std::cout << a << std::endl; // prints: (5, "Hello", -0.1)
सामान्य प्रश्न के समान स्तर (चार / wchar_t, जोड़ी सीमांकक) को पिछले प्रश्न के रूप में शामिल करने के लिए बोनस अंक!