Concept Subspace :: sus :: iter :: IntoIteratorAny
template <class T>concept IntoIteratorAny
requires
requires(std::remove_cvref_t<T> t) {
{
::sus::move(t).into_iter()
} -> Iterator<
typename std::decay_t<decltype(::sus::move(t).into_iter())>::Item>;
}
Conversion into an Iterator
over any type of values.
Like IntoIterator
but is only satisfied for an iterator over any type of
item, without needing to know the Item
apriori.
This is useful to work around the limits of type deduction in templates,
along with IntoIteratorOutputType
to extract the Item
being iterated
over in the resulting iterator.