deduction guides for std::flat_set
<flat_set>
class Compare = std::less <typename KeyContainer::value_type> >
flat_set( KeyContainer, Compare = Compare() )
flat_set( KeyContainer, Allocator )
-> flat_set<typename KeyContainer::value_type,
flat_set( KeyContainer, Compare, Allocator )
class Compare = std::less <typename KeyContainer::value_type> >
flat_set( std::sorted_unique_t, KeyContainer, Compare = Compare() )
flat_set( std::sorted_unique_t, KeyContainer, Allocator )
-> flat_set<typename KeyContainer::value_type,
flat_set( std::sorted_unique_t, KeyContainer, Compare, Allocator )
class Compare = std::less </*iter-val-t*/<InputIt>> >
flat_set( InputIt, InputIt, Compare = Compare() )
class Compare = std::less </*iter-val-t*/<InputIt>> >
flat_set( std::sorted_unique_t, InputIt, InputIt, Compare = Compare() )
class Compare = std::less <ranges::range_value_t <R>>,
class Allocator = std::allocator <ranges::range_value_t <R>> >
flat_set( std::from_range_t, R&&, Compare = Compare(), Allocator = Allocator() )
-> flat_set<ranges::range_value_t <R>, Compare,
std::vector <ranges::range_value_t <R>,
flat_set( std::from_range_t, R&&, Allocator )
-> flat_set<ranges::range_value_t <R>, std::less <ranges::range_value_t <R>>,
std::vector <ranges::range_value_t <R>,
flat_set( std::initializer_list <Key>, Compare = Compare() )
flat_set( std::sorted_unique_t,
std::initializer_list <Key>, Compare = Compare() )
using /*iter-val-t*/ =
using /*alloc-rebind*/ =
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