c++ - How to use boost::fusion::transform on heterogeneous containers? -


Boost.org संलयन के लिए दिया गया है: रूपांतरण इस प्रकार है:

  struct triple { Typedef int result_type; इंट ऑपरेटर () (इंट टी) कॉन्स्ट {रिटर्न टी * 3; }; }; // ... जोर (रूपांतरण (मैक_वेक्टर (1,2,3), ट्रिपल ()) == मेक-वेक्टर (3,6 9));  

फिर भी मैं "इसे प्राप्त नहीं कर रहा हूँ।" उनके उदाहरण में वेक्टर में एक ही प्रकार के सभी तत्व शामिल हैं, लेकिन संलयन का उपयोग करने का प्रमुख बिंदु विषम प्रकार के कंटेनर है। क्या होगा अगर उन्होंने make_vector (1, 'a', 'howdy') के बजाय उपयोग किया था?

int ऑपरेटर () (int t)
बनने की आवश्यकता होगी टेम्पलेट & lt; typename T & gt; टी & amp; ऑपरेटर () (टी & amp; कॉन्स्ट टी)

लेकिन मैं परिणाम कैसे टाइप करूंगा? टेम्पलेट & lt; typename T & gt; टाइपिंगफेड टी एंड amp; निश्चित_प्रकार निश्चित रूप से मान्य वाक्य-रचना नहीं है, और यह तब भी समझ में नहीं आता, भले ही यह हो, क्योंकि यह फ़ंक्शन से नहीं जुड़ा है।

Comments