Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::unordered_set::count(3)  C++ Standard Libary std::unordered_set::count(3)

NAME
       std::unordered_set::count - std::unordered_set::count

Synopsis
	  size_type count( const Key& key ) const; (1) (since C++11)
	  template< class K >			   (2) (since C++20)
	  size_type count( const K& x )	const;

	  1)  Returns  the  number of elements with key	that compares equal to
       the specified
	  argument key,	which is either	1 or 0 since this container  does  not
       allow duplicates.
	  2)  Returns the number of elements with key that compares equivalent
       to the specified
	  argument x. This overload participates in overload  resolution  only
       if
	  Hash::is_transparent and KeyEqual::is_transparent are	valid and each
       denotes a type.
	  This	assumes	 that  such Hash is callable with both K and Key type,
       and that	the
	  KeyEqual is transparent, which, together, allows calling this	 func-
       tion without
	  constructing an instance of Key.

Parameters
	  key -	key value of the elements to count
	  x    - a value of any	type that can be transparently compared	with a
       key

Return value
	  1) Number of elements	with key key, that is either 1 or 0.
	  2) Number of elements	with key that compares equivalent to x.

Complexity
	  Constant on average, worst case linear in the	size of	the container.

Notes
	  Feature-test macro: __cpp_lib_generic_unordered_lookup (for overload
       (2))

Example
       // Run this code

	#include <algorithm>
	#include <iostream>
	#include <unordered_set>

	int main() {
	    std::unordered_set set{2, 7, 1, 8, 2, 8, 1,	8, 2, 8};

	    std::cout << "The set is: ";
	    for	(int e:	set) { std::cout << e << ' '; }

	    const auto [min, max] = std::ranges::minmax(set);

	    std::cout << "\nNumbers from " << min << " to " << max <<  "  that
       are in the set: ";
	    for	(int i{min}; i <= max; ++i) {
		if (set.count(i) == 1) {
		    std::cout << i << '	';
		}
	    }
	}

Possible output:
	The set	is: 8 1	7 2
	Numbers	from 1 to 8 that are in	the set: 1 2 7 8

See also
	  find	      finds element with specific key
	  (C++11)     (public member function)
	  contains     checks  if the container	contains element with specific
       key
	  (C++20)     (public member function)
	  equal_range returns range of elements	matching a specific key
	  (C++11)     (public member function)

http://cppreference.com		  2022.07.31	  std::unordered_set::count(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::unordered_set::count&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help