aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-03-19 15:08:39 +0100
committerFelix Morgner <felix.morgner@ost.ch>2026-03-19 15:08:39 +0100
commit6c9e50bee8362bd87c66ee10c253d94a78e1459c (patch)
tree2872785cf6a6ce31ef04bc8d32ffb8381ff85841 /libs
parentc2ba7be0e1e84752d21abdcb4ec4f9df444bc367 (diff)
downloadteachos-6c9e50bee8362bd87c66ee10c253d94a78e1459c.tar.xz
teachos-6c9e50bee8362bd87c66ee10c253d94a78e1459c.zip
kstd/vector: add deduction guides
Diffstat (limited to 'libs')
-rw-r--r--libs/kstd/include/kstd/vector10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/kstd/include/kstd/vector b/libs/kstd/include/kstd/vector
index f8e9ce2..79530d2 100644
--- a/libs/kstd/include/kstd/vector
+++ b/libs/kstd/include/kstd/vector
@@ -743,6 +743,16 @@ namespace kstd
return std::lexicographical_compare_three_way(lhs.begin(), lhs.end(), rhs.begin(), rhs.end());
}
+ //! Deduction guide for vector construction from an interator pair.
+ template<std::forward_iterator ForwardIterator,
+ typename Allocator = kstd::allocator<typename std::iterator_traits<ForwardIterator>::value_type>>
+ vector(ForwardIterator, ForwardIterator, Allocator = Allocator())
+ -> vector<typename std::iterator_traits<ForwardIterator>::value_type, Allocator>;
+
+ //! Deduction guide for vector construction from a range.
+ template<std::ranges::input_range Range, typename Allocator = kstd::allocator<std::ranges::range_value_t<Range>>>
+ vector(kstd::from_range_t, Range &&, Allocator = Allocator()) -> vector<std::ranges::range_value_t<Range>, Allocator>;
+
} // namespace kstd
#endif