#include #include using namespace std; int main() { pair pa[] = { pair("alpha", 1), pair("bravo", 2), pair("charlie", 3), pair("bravo", 6), // unordered `bravo' values pair("delta", 5), pair("bravo", 4), }; multimap object(&pa[0], &pa[6]); using msiIterator = multimap::iterator; msiIterator it = object.lower_bound("brava"); cout << "Lower bound for `brava': " << it->first << ", " << it->second << '\n'; it = object.upper_bound("bravu"); cout << "Upper bound for `bravu': " << it->first << ", " << it->second << '\n'; pair itPair = object.equal_range("bravo"); cout << "Equal range for `bravo':\n"; for (it = itPair.first; it != itPair.second; ++it) cout << it->first << ", " << it->second << '\n'; cout << "Upper bound: " << it->first << ", " << it->second << '\n'; cout << "Equal range for `brav':\n"; itPair = object.equal_range("brav"); for (it = itPair.first; it != itPair.second; ++it) cout << it->first << ", " << it->second << '\n'; cout << "Upper bound: " << it->first << ", " << it->second << '\n'; } /* Generated output: Lower bound for `brava': bravo, 2 Upper bound for `bravu': charlie, 3 Equal range for `bravo': bravo, 2 bravo, 6 bravo, 4 Upper bound: charlie, 3 Equal range for `brav': Upper bound: bravo, 2 */