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

FreeBSD Manual Pages

  
 
  

home | help
std::unorde...equal_range(3)  C++ Standard Libary std::unorde...equal_range(3)

NAME
       std::unordered_multimap::equal_range	   -	   std::unordered_mul-
       timap::equal_range

Synopsis
	  std::pair<iterator,iterator>	equal_range(   const   Key&   key   );
       (1) (since C++11)
	  std::pair<const_iterator,const_iterator>   equal_range(  const  Key&
       (2) (since C++11)
	  key )	const;
	  template<		    class		  K		     >
       (3) (since C++20)
	  std::pair<iterator,iterator> equal_range( const K& x );
	  template< class K >
	  std::pair<const_iterator,const_iterator>  equal_range(  const	K& x )
       (4) (since C++20)
	  const;

	  1,2) Returns a range containing all elements with  key  key  in  the
       container. The
	  range	 is  defined by	two iterators, the first pointing to the first
       element of the
	  wanted range and the second pointing past the	last  element  of  the
       range.
	  3,4)	Returns	 a range containing all	elements in the	container with
       key equivalent to
	  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 KeyE-
       qual is
	  transparent, which, together,	allows calling this  function  without
       constructing an
	  instance of Key.

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

Return value
	  std::pair containing a pair of iterators defining the	wanted	range.
       If there	are no
	  such	elements,  past-the-end	 (see end()) iterators are returned as
       both elements of
	  the pair.

Complexity
	  Average case linear in the number of	elements  with	the  key  key,
       worst case linear in
	  the size of the container.

Notes
	  Feature-test	macro:	__cpp_lib_generic_unordered_lookup  (for over-
       loads (3,4))

Example
       // Run this code

	#include <iostream>
	#include <unordered_map>

	int main()
	{
	    std::unordered_multimap<int,char>		   map		     =
       {{1,'a'},{1,'b'},{1,'d'},{2,'b'}};
	    auto range = map.equal_range(1);
	    for	(auto it = range.first;	it != range.second; ++it) {
		std::cout << it->first << ' ' << it->second << '\n';
	    }
	}

Output:
	1 a
	1 b
	1 d

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)
	  count	      returns the number of elements matching specific key
	  (C++11)     (public member function)
	  equal_range returns range of elements	matching a specific key
		      (function	template)

http://cppreference.com		  2022.07.31	  std::unorde...equal_range(3)

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

home | help