26concept PrepFuncLike =
requires(T prep_func, Ring *ring) {
27 { prep_func(ring) } -> std::same_as<io_uring_sqe *>;
31concept CQEHandlerLike =
requires(T handler, io_uring_cqe *cqe) {
32 { handler(cqe) }
noexcept;
36concept BufferRingLike =
requires(T br, io_uring_cqe *cqe) {
37 { br.bgid() } -> std::same_as<uint16_t>;
38 { br.handle_finish(cqe) };
42concept BufferLike = std::derived_from<std::decay_t<T>, BufferBase>;
45concept FdLike = std::same_as<std::decay_t<T>,
int> ||
46 std::same_as<std::decay_t<T>, detail::FixedFd>;
48template <
typename T,
typename... Us>
49concept AnySameAs = (std::same_as<T, Us> || ...);
The main namespace for the Condy library.