Add helper functions for constructing util::span

This commit is contained in:
Nikita Lisitsa 2024-01-02 16:04:26 +03:00
parent 7c122c5664
commit 0998da6329

View file

@ -140,4 +140,16 @@ namespace psemek::util
return {list.begin(), list.end()};
}
template <typename Container, typename = decltype(std::declval<Container>().data())>
auto make_span(Container & container)
{
return span{container.data(), container.data() + container.size()};
}
template <typename T>
auto make_singleton_span(T & value)
{
return span{std::addressof(value), std::addressof(value) + 1};
}
}