deduction guides for std::flat_map
<flat_map>
class Compare = std::less <typename KeyContainer::value_type> >
flat_map( KeyContainer, MappedContainer, Compare = Compare() )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
flat_map( KeyContainer, MappedContainer, Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
std::less <typename KeyContainer::value_type>,
class Compare, class Allocator >
flat_map( KeyContainer, MappedContainer, Compare, Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
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,
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>,
class Compare, class Allocator>
flat_map( std::sorted_unique_t, KeyContainer, MappedContainer,
Compare, Allocator )
-> flat_map<typename KeyContainer::value_type,
typename MappedContainer::value_type,
class Compare = std::less </*iter-key-t*/<InputIt>> >
flat_map( InputIt, InputIt, Compare = Compare() )
-> flat_map</*iter-key-t*/<InputIt>,
class Compare = std::less </*iter-key-t*/<InputIt>> >
flat_map( std::sorted_unique_t, InputIt, InputIt,
Compare = Compare() )
-> flat_map</*iter-key-t*/<InputIt>,
class Compare = std::less </*range-key-t*/<R>>,
class Allocator = allocator<byte> >
flat_map( std::from_range_t, R&&, Compare = Compare(),
Allocator = Allocator() )
-> flat_map</*range-key-t*/<R>, /*range-mapped-t*/<R>, Compare,
std::vector </*range-key-t*/<R>,
/*alloc-rebind*/<Allocator,
/*range-key-t*/<R>>>,
std::vector </*range-mapped-t*/<R>,
/*alloc-rebind*/<Allocator,
flat_map( std::from_range_t, R&&, Allocator )
-> flat_map</*range-key-t*/<R>, /*range-mapped-t*/<R>,
std::less </*range-key-t*/<R>>,
std::vector </*range-key-t*/<R>,
/*alloc-rebind*/<Allocator,
/*range-key-t*/<R>>>,
std::vector </*range-mapped-t*/<R>,
/*alloc-rebind*/<Allocator,
flat_map( std::initializer_list <pair<Key, T>>, Compare = Compare() )
flat_map( std::sorted_unique_t, std::initializer_list <pair<Key, T>>,
Compare = Compare() )
using /*iter-val-t*/ =
using /*iter-key-t*/ =
using /*iter-mapped-t*/ =
using /*alloc-rebind*/ =
using /*range-key-t*/ =
using /*range-mapped-t*/ =
These deduction guides are provided for to allow deduction from:
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 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.
[edit] Example
Reason: no example