Browse Source

简化一些concept的写法。

tags/v2.9.7
tearshark 4 years ago
parent
commit
3be26ee113
1 changed files with 4 additions and 6 deletions
  1. 4
    6
      librf/src/type_concept.inl

+ 4
- 6
librf/src/type_concept.inl View File

@@ -49,7 +49,7 @@ RESUMEF_NS
template<typename T>
concept _AwaitableT = requires(T&& v)
{
{ traits::get_awaitor(v) };
{ traits::get_awaitor(v) } ->_AwaitorT;
};
template<typename T>
@@ -66,17 +66,15 @@ RESUMEF_NS
template<typename T>
concept _WhenIterT = _IteratorT<T> && requires(T&& u)
{
requires _WhenTaskT<decltype(*u)>;
{ *u } ->_WhenTaskT;
};
template<typename T>
concept _ContainerT = requires(T&& v)
{
{ std::begin(v) };
{ std::end(v) };
{ std::begin(v) } ->_IteratorT;
{ std::end(v) } ->_IteratorT;
requires std::same_as<decltype(std::begin(v)), decltype(std::end(v))>;
requires _IteratorT<decltype(std::begin(v))>;
requires _IteratorT<decltype(std::end(v))>;
};
#define COMMA_RESUMEF_ENABLE_IF(...)

Loading…
Cancel
Save