Peano
Loading...
Searching...
No Matches
concept.h
Go to the documentation of this file.
1#pragma once
2
3#include <lang/type.h>
4
5template<typename T>
6concept IoWriter = requires(T t) {
7 { t.write(Any()) } -> std::same_as<void>;
8 { t.write(void_ptr(), u64()) } -> std::same_as<void>;
9 { t.seek(u64()) } -> std::same_as<void>;
10 { t.sync() } -> std::same_as<void>;
11 { t.getPos() } -> std::same_as<u64>;
12};
13
14template<typename T>
15concept IoBufferedWriter = IoWriter<T> && requires(T t) {
16 { t.buffer(u64()) } -> std::same_as<void*>;
17};
Definition type.h:19
ptr< void >::value void_ptr
Definition type.h:31
std::uint64_t u64
Definition type.h:13