से मूल्य प्रकारों के एक tuple को परिभाषित करने के लिए मुझे n प्रकार के tuple बनाने की आवश्यकता है। ये एन प्रकार अन्य प्रकार के मूल्य प्रकार हैं। इस स्निपेट पर विचार करें:पैरामीटर पैक
#include <boost/hana.hpp>
namespace hana = boost::hana;
template<class... Types>
class CartesianProduct
{
public:
CartesianProduct(Types... args) : sets(args...) {}
hana::tuple<Types...> sets;
hana::tuple<Types...::value_type> combination; // does not work obviously... but wo can this be done?
};
इस के आवेदन इसलिए की तरह करना है: मैं इस वर्ग संभवतः विभिन्न प्रकार के कंटेनर के एक पैरामीटर पैक गुजरती हैं। कक्षा इन कंटेनरों को एक tuple sets
में रखती है। कक्षा में एक क्षेत्र combination
भी है जो कि कई तत्वों का एक गुच्छा है क्योंकि कंटेनरों को कक्षा में पारित किया गया था। लेकिन तत्वों के प्रकार विभिन्न कंटेनरों के मूल्य प्रकार हैं।
कक्षा तब आजीवन रूप से इसके कंटेनरों के कार्टेशियन उत्पाद का निर्माण करने और combination
में वर्तमान संयोजन को स्टोर करने का इरादा रखती है। लेकिन मैं वास्तव में एक विविध फैशन में कंटेनर के मूल्य प्रकार कैसे प्राप्त कर सकता हूं?
क्या सभी प्रकारों में 'value_type' है? – StoryTeller
ठीक है, मैं इसे एक पूर्व शर्त बना देता हूं। –
यदि आप इस आलसी कार्टेशियन उत्पाद वर्ग को लिखते हैं, तो यह शानदार होगा अगर आप इसे वापस हाना में योगदान दे सकते हैं। मैं आलसी विचार जोड़ना चाहता हूं, और अपने आप से 'कार्टेशियन_प्रॉडक्ट' को लागू करने के लिए एक अच्छा विचार हो सकता है। –