Condy v1.6.0
C++ Asynchronous System Call Layer for Linux
Loading...
Searching...
No Matches
sender_operations.hpp File Reference

Helper functions for composing asynchronous operations. More...

#include "condy/concepts.hpp"
#include "condy/senders.hpp"
#include <coroutine>

Go to the source code of this file.

Namespaces

namespace  condy
 The main namespace for the Condy library.
namespace  condy::operators
 Operators for composing operations.

Functions

template<unsigned int Flags, typename Sender>
auto condy::flag (Sender &&sender)
 Decorates an operation with specific io_uring sqe flags.
template<typename Sender>
auto condy::drain (Sender &&sender)
 Mark an operation as drain operation.
template<typename Sender>
auto condy::always_async (Sender &&sender)
 Mark an operation to always execute asynchronously.
template<template< typename... Senders > typename SenderType, typename... Senders>
auto condy::parallel (Senders &&...senders)
 Compose multiple operations into a single sender that executes them in parallel.
template<template< typename Sender > typename RangedSenderType, std::ranges::range Range>
auto condy::parallel (Range &&range)
 Compose multiple operations from a range into a single operation that executes them in parallel.
template<typename... Senders>
auto condy::when_all (Senders &&...senders)
 Compose multiple operations into a single operation that completes when all of them complete.
template<std::ranges::range Range>
auto condy::when_all (Range &&range)
 Compose multiple operations from a range into a single operation that completes when all of them complete.
template<typename... Senders>
auto condy::when_any (Senders &&...senders)
 Compose multiple operations into a single operation that completes when any of them complete.
template<std::ranges::range Range>
auto condy::when_any (Range &&range)
 Compose multiple operations from a range into a single operation that completes when any of them complete.
template<typename... Senders>
auto condy::link (Senders &&...senders)
 Compose multiple operations into a single operation that executes them in sequence.
template<std::ranges::range Range>
auto condy::link (Range &&range)
 Compose multiple operations from a range into a single operation that executes them in sequence.
template<typename... Senders>
auto condy::hard_link (Senders &&...senders)
 Compose multiple operations into a single operation that executes them in sequence and continues even if one of them fails.
template<std::ranges::range Range>
auto condy::hard_link (Range &&range)
 Compose multiple operations from a range into a single operation that executes them in sequence and continues even if one of them fails.
template<typename Sender1, typename Sender2>
auto condy::operators::operator&& (Sender1 s1, Sender2 s2)
 Operator overloads version of condy::when_all.
template<typename S, typename... Ss>
auto condy::operators::operator&& (WhenAllSender< Ss... > aws, S sender)
 Operator overloads version of condy::when_all.
template<typename Sender1, typename Sender2>
auto condy::operators::operator|| (Sender1 s1, Sender2 s2)
 Operator overloads version of condy::when_any.
template<typename S, typename... Ss>
auto condy::operators::operator|| (WhenAnySender< Ss... > aws, S sender)
 Operator overloads version of condy::when_any.
template<typename Sender1, typename Sender2>
auto condy::operators::operator>> (Sender1 s1, Sender2 s2)
 Operator overloads version of condy::link.
template<typename S, typename... Ss>
auto condy::operators::operator>> (LinkSender< Ss... > aws, S sender)
 Operator overloads version of condy::link.

Detailed Description

Helper functions for composing asynchronous operations.

Definition in file sender_operations.hpp.