deductiongu...td::flat_map(3)
π deductionguidesforstd::flat_map π
okay bestie, welcome to the deductionguidesforstd::flat_map(3) page. The manual name is deductionguidesforstd::flat_map β yes, same name as NAME says, no cap. Itβs the C++ deduction-guide manual for std::flat_map, and weβre reading it together like a group chat. π
π NAME π
deductionguidesforstd::flat_map β literally deductionguidesforstd::flat_map. Thatβs the whole name, bestie. Iconic.
β¨ Synopsis β¨
Defined in header <flat_map>
okay so here are all 12 deduction guides, every single one (since C++23). Do not skip, bestie β they are all main characters. π
1) Guide 1 β (since C++23)
template< class KeyContainer, class MappedContainer,
class Compare = std::less<typename
KeyContainer::value_type> >
flat_map( KeyContainer, MappedContainer, Compare = Compare() )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
Compare, KeyContainer, MappedContainer>;
2) Guide 2 β (since C++23)
template< class KeyContainer, class MappedContainer, class
Allocator >
flat_map( KeyContainer, MappedContainer, Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
std::less<typename KeyContainer::value_type>,
KeyContainer, MappedContainer>;
3) Guide 3 β (since C++23)
template< class KeyContainer, class MappedContainer,
class Compare, class Allocator >
flat_map( KeyContainer, MappedContainer, Compare, Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
Compare, KeyContainer, MappedContainer>;
4) Guide 4 β (since C++23)
template< class KeyContainer, class MappedContainer,
class Compare = std::less<typename
KeyContainer::value_type> >
flat_map( std::sorted_unique_t, KeyContainer, MappedContainer,
Compare = Compare() )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
Compare, KeyContainer, MappedContainer>;
5) Guide 5 β (since C++23)
template< class KeyContainer, class MappedContainer, class
Allocator >
flat_map( std::sorted_unique_t, KeyContainer, MappedContainer,
Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
std::less<typename KeyContainer::value_type>,
KeyContainer, MappedContainer>;
6) Guide 6 β (since C++23)
template< class KeyContainer, class MappedContainer,
class Compare, class Allocator>
flat_map( std::sorted_unique_t, KeyContainer, MappedContainer,
Compare, Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
Compare, KeyContainer, MappedContainer>;
7) Guide 7 β (since C++23)
template< class InputIter,
class Compare = std::less</*iter-key-type*/<InputIter>>
>
flat_map( InputIter, InputIter, Compare = Compare() )
-> flat_map</*iter-key-type*/<InputIter>,
/*iter-mapped-type*/<InputIter>, Compare>;
8) Guide 8 β (since C++23)
template< class InputIter,
class Compare = std::less</*iter-key-type*/<InputIter>>
>
flat_map( std::sorted_unique_t, InputIter, InputIter,
Compare = Compare() )
-> flat_map</*iter-key-type*/<InputIter>,
/*iter-mapped-type*/<InputIter>, Compare>;
9) Guide 9 β (since C++23)
template< ranges::input_range R,
class Compare = std::less</*range-key-type*/<R>>,
class Allocator = allocator<byte> >
flat_map( std::from_range_t, R&&, Compare = Compare(),
Allocator = Allocator() )
-> flat_map</*range-key-type*/<R>, /*range-mapped-type*/<R>,
Compare,
std::vector</*range-key-type*/<R>,
/*alloc-rebind*/<Allocator,
/*range-key-type*/<R>>>,
std::vector</*range-mapped-type*/<R>,
/*alloc-rebind*/<Allocator,
/*range-mapped-type*/<R>>>>;
10) Guide 10 β (since C++23)
template< ranges::input_range R, class Allocator >
flat_map( std::from_range_t, R&&, Allocator )
-> flat_map</*range-key-type*/<R>, /*range-mapped-type*/<R>,
std::less</*range-key-type*/<R>>,
std::vector</*range-key-type*/<R>,
/*alloc-rebind*/<Allocator,
/*range-key-type*/<R>>>,
std::vector</*range-mapped-type*/<R>,
/*alloc-rebind*/<Allocator,
/*range-mapped-type*/<R>>>>;
11) Guide 11 β (since C++23)
template< class Key, class T, class Compare = std::less<Key> >
flat_map( std::initializer_list<pair<Key, T>>, Compare =
Compare() )
-> flat_map<Key, T, Compare>;
12) Guide 12 β (since C++23)
template< class Key, class T, class Compare = std::less<Key> >
flat_map( std::sorted_unique_t, std::initializer_list<pair<Key,
T>>,
Compare = Compare() )
-> flat_map<Key, T, Compare>;
These deduction guides are provided for to allow deduction from:
- A key-container, a mapped-container and a comparator.
- A key-container, a mapped-container and an allocator.
- A key-container, a mapped-container, a comparator and an allocator.
- The
std::sorted_unique_ttag, a key-container, a mapped-container and a comparator. - The
std::sorted_unique_ttag, a key-container, a mapped-container and an allocator. - The
std::sorted_unique_ttag, a key-container, a mapped-container, a comparator and an allocator. - An iterator range and a comparator.
- The
std::sorted_unique_ttag, an iterator range and a comparator. - The
std::from_range_ttag, aninput_rangerange, a comparator and an allocator. - The
std::from_range_ttag, aninput_rangerange and an allocator. - The
std::initializer_listand a comparator. - The
std::sorted_unique_ttag, thestd::initializer_listand a comparator.
bestie, this is the strict part: These overloads participate in overload resolution only ifInputItsatisfiesLegacyInputIterator,AllocsatisfiesAllocator, andCompdoes not satisfyAllocator.
Note: the extent to which the library determines that a type does not satisfy LegacyInputIterator is unspecified, except that as a minimum integral types do not qualify as input iterators. Likewise, the extent to which it determines 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
β¨ cute sign-off time β¨ the footer is giving C++ Standard Libary β yes, that exact spelling β with source/version http://cppreference.com, date 2024.06.10, and footer label deductiongu...td::flat_map(3). mwah ππ«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms