मान लीजिए कि मेरे पास टी के नाम से आरएनजी है। अब मैं टी की सीमाओं की एक सीमा जा रहा हैश्रेणियों की श्रेणी वेक्टर के वेक्टर
auto groups = ranges::view::group_by(rng, bin_op);
समूहों कर सकते हैं।
मैं भी टी की सीमाओं का एक वेक्टर प्राप्त करने के लिए इस
auto groups = ranges::view::group_by(rng, bin_op) | ranges::to_vector;
कर सकते हैं। हालांकि इस
auto groups = ranges::view::group_by(rng, bin_op)
| ranges::to_vector
| ranges::action::transform([] (auto r) { return r | ranges::to_vector; };
के साथ-साथ
auto groups = ranges::view::group_by(rng, bin_op)
| ranges::to_vector
| ranges::action::transform([] (auto r) { return std::vector<T>{} | ranges::action::push_back; };
जाहिरा तौर पर के बाद से काम नहीं करेगा पर्वतमाला :: कार्रवाई :: बदलने() "इस मामले में शून्य रिटर्न और समारोह के परिणाम प्रकार कार्रवाई करने के लिए पारित किया :: परिवर्तन स्रोत सीमा में वापस लिखने योग्य होना चाहिए "।
तो मैं श्रेणियों की वेक्टरों को वेक्टरों के वेक्टर में कैसे बदलूं?
नोट: खराब टैग के लिए खेद है, लेकिन मुझे श्रेणियां/श्रेणी-ts/ranges-v3 टैग नहीं मिल सका, मुझे एक बनाने की अनुमति नहीं है और इसे शीर्षक में उपयोग नहीं किया जा सका।
वास्तव में यह काम करता है। तो विचार अंदर से बाहर के अंदर के अंदर से बाहर के रूप में काम करना है। कोई विचार क्यों दूसरी दिशा काम नहीं करेगा? –
@rich शायद यह हो सकता है, लेकिन यह अक्षम होगा क्योंकि वैक्टर मौजूद जबकि पर्वतमाला आलसी होते हैं। आप 0 लागत के लिए वैक्टरों की मध्यवर्ती आलसी रेंज प्राप्त कर सकते हैं, लेकिन आलसी श्रेणियों का एक मध्यवर्ती वेक्टर मौजूद होना चाहिए और इसकी लागत होनी चाहिए। – Yakk
यह पूरी तरह से समझ में आता है। किंडा शर्मनाक है कि मेरी हास्केल मस्तिष्क नोटिस नहीं किया था ... मदद के लिए धन्यवाद। –