1
0
Fork 0
mirror of https://gitlab.com/niansa/libcrosscoro.git synced 2025-03-06 20:53:32 +01:00
libcrosscoro/inc/coro/concepts/range_of.hpp
2021-07-28 12:09:16 +02:00

20 lines
530 B
C++

#pragma once
#include <concepts>
#include <ranges>
namespace coro::concepts
{
/**
* Concept to require that the range contains a specific type of value.
*/
template<class T, class V>
concept range_of = std::ranges::range<T> && std::is_same_v<V, std::ranges::range_value_t<T>>;
/**
* Concept to require that a sized range contains a specific type of value.
*/
template<class T, class V>
concept sized_range_of = std::ranges::sized_range<T> && std::is_same_v<V, std::ranges::range_value_t<T>>;
} // namespace coro::concepts