General Purpose library for Freestanding C++ and POSIX systems
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 lines
269 B

  1. #pragma once
  2. #include <concepts>
  3. template<typename T>
  4. concept ForwardIteratorLike = requires(T a) {
  5. {++a} -> auto;
  6. {*a} -> auto;
  7. };
  8. template<typename T>
  9. concept RangeLike = requires(T a) {
  10. {a.begin()} -> ForwardIteratorLike;
  11. {a.end()} -> ForwardIteratorLike;
  12. };