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