मेरे पास std::multimap
है, और मैं equal_range
से boost::iterator_range
बनाना चाहता हूं। मैं दस्तावेज में यह करने का कोई सरल रास्ता मिल गया, तो मैं निम्नलिखित की कोशिश की:std :: iterator की जोड़ी को बढ़ावा देने के लिए :: iterator_range
typedef std::multimap<int, std::string> Map;
Map map;
...
boost::iterator_range<Map::iterator> r(map.equal_range(2));
हैरानी की बात है, यह (जीसीसी 4.1.2 का प्रयोग करके) काम करता है। मैं उत्सुक हूं कि यह कैसे काम करता है। मुझे iterator_range
कन्स्ट्रक्टर के लिए कोई ओवरलोड नहीं मिला जो यह करेगा, और multimap::iterator_range
स्पष्ट रूप से कोई अधिभार नहीं है जो बूस्ट श्रेणियों को वापस करेगा।
ध्यान दें कि 'boost :: make_iterator_range' भी है जो जोड़ी से अंतर्निहित पुनरावर्तक प्रकार को कम करता है। – alfC