mcpp index

chriskohlhoff.asio

import

Standalone asio exposed as the C++23 module `asio` (separate compilation)

import asio;
mcpp add chriskohlhoff.asio@1.38.1

用法

来自本仓库自己的测试项目 —— CI 真的编译并运行过,不是为了网站写的。

// Core executor/timer behavior over the module surface: strand FIFO order,
// work-guard-driven run loop, thread_pool, and timer cancellation mapping to
// asio::error::operation_aborted. Module consumers pair `import asio;` with
// `import std;` (no text #include mixing).
import std;
import asio;

int main() {
    using namespace std::chrono_literals;

    asio::io_context io;
    auto guard = asio::make_work_guard(io);
    auto serial = asio::make_strand(io);
    asio::steady_timer timer(io, 2ms);

    std::atomic<int> posted{0};
    std::mutex order_mutex;
    std::vector<int> order;
    bool timer_called = false;

    asio::post(serial, [&] {
        std::lock_guard lock(order_mutex);
// …

tests/examples/asio-module/tests/core.cpp · 项目 tests/examples/asio-module

构建

modules
asio
targets
asio (lib)
language
c++23
import std
no
include dirs
*/include

特性

特性声明了
sslsources, deps, defines
defaultimplies
separate-compilationdefines

源文件 (2)

  • mcpp_generated/asio.cppm
  • */src/asio.cpp

生成的文件

  • mcpp_generated/asio.cppm

版本

版本平台 镜像sha256
1.38.1 最新 LinuxWindowsmacOS CN GLOBAL 2827b229972b…