Condy v1.9
C++ Asynchronous System Call Layer for Linux
Loading...
Searching...
No Matches
execution_backend.hpp
Go to the documentation of this file.
1
5
6#pragma once
7
8#ifndef __has_include
9#define __has_include(x) 0
10#endif
11
12#include <version>
13
14// TODO: This path has not been tested, as no standard library provides
15// std::execution yet.
16#if defined(__cpp_lib_senders)
17#include <execution>
18#define CONDY_DETAIL_HAS_EXECUTION 1
19#elif __has_include(<stdexec/execution.hpp>)
20#include <stdexec/execution.hpp>
21#define CONDY_DETAIL_HAS_EXECUTION 1
22#elif __has_include(<beman/execution.hpp>)
23#include <beman/execution.hpp>
24#define CONDY_DETAIL_HAS_EXECUTION 1
25#endif
26
27#ifdef CONDY_DETAIL_HAS_EXECUTION
28
29namespace condy {
30namespace detail {
31
32#if defined(__cpp_lib_senders)
33namespace ex = std::execution;
34#elif __has_include(<stdexec/execution.hpp>)
35namespace ex = stdexec;
36#elif __has_include(<beman/execution.hpp>)
37namespace ex = beman::execution;
38#endif
39
40} // namespace detail
41} // namespace condy
42
43#endif
The main namespace for the Condy library.
Definition condy.hpp:38