24concept PrepFuncLike =
requires(T prep_func, detail::Ring *ring) {
25 { prep_func(ring) } -> std::same_as<io_uring_sqe *>;
29concept CQEHandlerLike =
requires(T handler, io_uring_cqe *cqe) {
30 { handler(cqe) }
noexcept;
34concept BufferRingLike =
requires(T br, io_uring_cqe *cqe) {
35 { br.bgid() } -> std::same_as<uint16_t>;
36 { br.handle_finish(cqe) };
40concept BufferLike =
requires {
typename std::remove_cvref_t<T>::CondyBuffer; };
43concept FdLike = std::same_as<std::remove_cvref_t<T>,
int> ||
44 std::same_as<std::remove_cvref_t<T>, detail::FixedFd>;
46template <
typename T,
typename... Us>
47concept AnySameAs = (std::same_as<T, Us> || ...);
51 requires(T sender) {
typename std::remove_cvref_t<T>::CondySender; };
The main namespace for the Condy library.