GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::multiset::find(3) C++ Standard Libary std::multiset::find(3)

std::multiset::find - std::multiset::find


iterator find( const Key& key ); (1)
const_iterator find( const Key& key ) const; (2)
template< class K > iterator find( const K& x ); (3) (since C++14)
template< class K > const_iterator find( const K& x ) const; (4) (since C++14)


1,2) Finds an element with key equivalent to key.
3,4) Finds an element with key that compares equivalent to the value x. This
overload participates in overload resolution only if the qualified-id
Compare::is_transparent is valid and denotes a type. It allows calling this function
without constructing an instance of Key.


key - key value of the element to search for
x - a value of any type that can be transparently compared with a key


Iterator to an element with key equivalent to key. If no such element is found,
past-the-end (see end()) iterator is returned.


Logarithmic in the size of the container.


Feature-test macro: __cpp_lib_generic_associative_lookup (for overloads (3,4))

// Run this code


#include <iostream>
#include <set>


struct FatKey { int x; int data[1000]; };
struct LightKey { int x; };
// Note: as detailed above, the container must use std::less<> (or other
// transparent Comparator) to access these overloads.
// This includes standard overloads, such as between std::string and std::string_view.
bool operator<(const FatKey& fk, const LightKey& lk) { return fk.x < lk.x; }
bool operator<(const LightKey& lk, const FatKey& fk) { return lk.x < fk.x; }
bool operator<(const FatKey& fk1, const FatKey& fk2) { return fk1.x < fk2.x; }


int main()
{
// simple comparison demo
std::multiset<int> example = {1, 2, 3, 4};


auto search = example.find(2);
if (search != example.end()) {
std::cout << "Found " << (*search) << '\n';
} else {
std::cout << "Not found\n";
}


// transparent comparison demo
std::multiset<FatKey, std::less<>> example2 = { {1, {} }, {2, {} }, {3, {} }, {4, {} } };


LightKey lk = {2};
auto search2 = example2.find(lk);
if (search2 != example2.end()) {
std::cout << "Found " << search2->x << '\n';
} else {
std::cout << "Not found\n";
}


}


Found 2
Found 2


count returns the number of elements matching specific key
(public member function)
equal_range returns range of elements matching a specific key
(public member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.