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

FreeBSD Manual Pages

  
 
  

home | help
deductiongu...at_multimap(3)  C++ Standard Libary deductiongu...at_multimap(3)

NAME
       deductionguidesforstd::flat_multimap - deductionguidesforstd::flat_mul-
       timap

Synopsis
	  Defined in header <flat_map>
	  template< class KeyContainer,	class MappedContainer,

		    class Compare = std::less<typename
	  KeyContainer::value_type> >
	  flat_multimap(  KeyContainer,	 MappedContainer,  Compare = Compare()
       (1)  (since C++23)
	  )
	      -> flat_multimap<typename	KeyContainer::value_type,
			       typename	MappedContainer::value_type,

			       Compare,	KeyContainer, MappedContainer>;
	  template< class KeyContainer,	class MappedContainer, class
	  Allocator >

	  flat_multimap( KeyContainer, MappedContainer,	Allocator )
	      ->       flat_multimap<typename	     KeyContainer::value_type,
       (2)  (since C++23)
			       typename	MappedContainer::value_type,
			       std::less<typename
	  KeyContainer::value_type>,

			       KeyContainer, MappedContainer>;
	  template< class KeyContainer,	class MappedContainer,

		    class Compare, class Allocator >
	  flat_multimap( KeyContainer, MappedContainer,	Compare, Allocator
	  )
       (3)  (since C++23)
	      -> flat_multimap<typename	KeyContainer::value_type,
			       typename	MappedContainer::value_type,

			       Compare,	KeyContainer, MappedContainer>;
	  template< class KeyContainer,	class MappedContainer,

		    class Compare = std::less<typename
	  KeyContainer::value_type> >
	  flat_multimap( std::sorted_equivalent_t, KeyContainer,
	  MappedContainer,
       (4)  (since C++23)
			 Compare = Compare() )
	      -> flat_multimap<typename	KeyContainer::value_type,
			       typename	MappedContainer::value_type,

			       Compare,	KeyContainer, MappedContainer>;
	  template< class KeyContainer,	class MappedContainer, class
	  Allocator >

	  flat_multimap( std::sorted_equivalent_t, KeyContainer,
	  MappedContainer,
			 Allocator					     )
       (5)  (since C++23)
	      -> flat_multimap<typename	KeyContainer::value_type,
			       typename	MappedContainer::value_type,
			       std::less<typename
	  KeyContainer::value_type>,

			       KeyContainer, MappedContainer>;
	  template< class KeyContainer,	class MappedContainer,

		    class Compare, class Allocator>
	  flat_multimap( std::sorted_equivalent_t, KeyContainer,
	  MappedContainer,
       (6)  (since C++23)
			 Compare, Allocator )
	      -> flat_multimap<typename	KeyContainer::value_type,
			       typename	MappedContainer::value_type,

			       Compare,	KeyContainer, MappedContainer>;
	  template< class InputIter,

		    class Compare = std::less</*iter-key-type*/<InputIter>>
	  >
       (7)  (since C++23)
	  flat_multimap( InputIter, InputIter, Compare = Compare() )
	      -> flat_multimap</*iter-key-type*/<InputIter>,

			       /*iter-mapped-type*/<InputIter>,	Compare>;
	  template< class InputIter,

		    class Compare = std::less</*iter-key-type*/<InputIter>>
	  >
	  flat_multimap(   std::sorted_equivalent_t,   InputIter,   InputIter,
       (8)  (since C++23)
			 Compare = Compare() )
	      -> flat_multimap</*iter-key-type*/<InputIter>,

			       /*iter-mapped-type*/<InputIter>,	Compare>;
	  template< ranges::input_range	R,

		    class Compare = std::less</*range-key-type*/<R>>,
		    class Allocator = allocator<byte> >
	  flat_multimap( std::from_range_t, R&&, Compare = Compare(),
			 Allocator = Allocator() )
	      -> flat_multimap</*range-key-type*/<R>,
	  /*range-mapped-type*/<R>, Compare,
			       std::vector</*range-key-type*/<R>,
       (9)  (since C++23)
					   /*alloc-rebind*/<Allocator,

	  /*range-key-type*/<R>>>,
			       std::vector</*range-mapped-type*/<R>,
					   /*alloc-rebind*/<Allocator,

	  /*range-mapped-type*/<R>>>>;
	  template< ranges::input_range	R, class Allocator >

	  flat_multimap( std::from_range_t, R&&, Allocator )
	      -> flat_multimap</*range-key-type*/<R>,
	  /*range-mapped-type*/<R>,
			       std::less</*range-key-type*/<R>>,
			       std::vector</*range-key-type*/<R>,
					   /*alloc-rebind*/<Allocator,
       (10) (since C++23)

	  /*range-key-type*/<R>>>,
			       std::vector</*range-mapped-type*/<R>,
					   /*alloc-rebind*/<Allocator,

	  /*range-mapped-type*/<R>>>>;
	  template< class Key, class T,	class Compare =	std::less<Key> >

	  flat_multimap(   std::initializer_list<pair<Key,   T>>,   Compare  =
       (11) (since C++23)
	  Compare() )

	      -> flat_multimap<Key, T, Compare>;
	  template< class Key, class T,	class Compare =	std::less<Key> >

	  flat_multimap( std::sorted_equivalent_t,
	  std::initializer_list<pair<Key,				  T>>,
       (12) (since C++23)
			 Compare = Compare() )

	      -> flat_multimap<Key, T, Compare>;

	  These	deduction guides are provided for to allow deduction from:

	  1) A key-container, a	mapped-container and a comparator.
	  2) A key-container, a	mapped-container and an	allocator.
	  3)  A	key-container, a mapped-container, a comparator	and an alloca-
       tor.
	  4) The std::sorted_equivalent_t tag, a key-container,	a  mapped-con-
       tainer and a
	  comparator.
	  5)  The std::sorted_equivalent_t tag,	a key-container, a mapped-con-
       tainer and an
	  allocator.
	  6) The std::sorted_equivalent_t tag, a key-container,	a  mapped-con-
       tainer, a
	  comparator and an allocator.
	  7) An	iterator range and a comparator.
	  8)  The  std::sorted_equivalent_t  tag, an iterator range and	a com-
       parator.
	  9) The std::from_range_t tag,	an input_range range, a	comparator and
       an allocator.
	  10) The std::from_range_t tag, an input_range	range and  an  alloca-
       tor.
	  11) The std::initializer_list	and a comparator.
	  12)  The std::sorted_equivalent_t tag, the std::initializer_list and
       a comparator.

	  These	overloads participate in overload resolution only  if  InputIt
       satisfies
	  LegacyInputIterator,	Alloc  satisfies  Allocator, and Comp does not
       satisfy Allocator.

	  Note:	the extent to which the	library	determines that	 a  type  does
       not satisfy
	  LegacyInputIterator  is  unspecified,	except that as a minimum inte-
       gral types do not
	  qualify as input iterators. Likewise,	the extent to which it	deter-
       mines that a type
	  does	not satisfy Allocator is unspecified, except that as a minimum
       the member type
	  Alloc::value_type must exist and the expression
	  std::declval<Alloc&>().allocate(std::size_t{}) must  be  well-formed
       when treated as
	  an unevaluated operand.

Example
	   This	section	is incomplete
	   Reason: no example

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	  deductiongu...at_multimap(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=deductionguidesforstd::flat_multimap&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help