मैं एक सी ++ एक रन-टाइम for
पाश के साथ नीचे स्निपेटसी ++ में 'फॉर' लूप को टेम्पलेट करना?
for(int i = 0; i < I; i++)
for (int j = 0; j < J; j++)
A(row(i,j), column(i,j)) = f(i,j);
टुकड़ा बार-बार कहा जाता है। लूप सीमा 'I' और 'J' संकलन समय पर ज्ञात हैं (I/J 2 से 10 का क्रम है)। मैं किसी भी तरह टेम्पलेट का उपयोग कर लूप को अनलॉक करना चाहता हूं। मुख्य बाधा पंक्ति() और कॉलम() और एफ() फ़ंक्शंस है। मैं उन्हें row<i,j>::enum
चाल का उपयोग करके संकलित समय पर मूल्यांकन किए गए समकक्ष मेटाप्रोग्राम के साथ प्रतिस्थापित करना चाहता हूं। - बहुत ज्यादा for
संरचना
A(12,37) = 0.5;
A(15,23) = 0.25;
A(14,45) = 0.25;
लेकिन मैं for
नष्ट किए बिना ऐसा करना चाहते हैं:
क्या मैं सच में अच्छा लगेगा कुछ है कि अंततः जैसे बयानों के अनुक्रम में पाश का समाधान करता है। की भावना में कुछ:
TEMPLATE_FOR<i,0,I>
TEMPLATE_FOR<j,0,J>
A(row<i,j>::value, column<i,j>::value) = f<i,j>::value
बढ़ा सकता है :: लैम्ब्डा (या कुछ और) इसे बनाने में मेरी सहायता करें?
लिंक टूट गया है (डोमेन * ubiety.uwaterloo
यहाँ variadic टेम्पलेट्स कि हार्ड कोडित मैं और जम्मू की आवश्यकता नहीं है के साथ एक तरीका है। सीए * मौजूद नहीं है)। –
@ पीटर मॉर्टेंसन, ठीक है, मैंने इसे ठीक किया है। –