Skip to content

Cra3z/coio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

en | zh-cn

coio (coroutine input/ouput)

License: MIT Language Standard

coio provides some basic library facilities for C++20 coroutines.

what's C++20 coroutine?

implemented facilities:

  • coroutine types:
    • generator
    • task
    • shared_task
  • network:
    • endpoint
    • tcp_acceptor
    • tcp_socket
    • udp_socket
    • resolver
  • containers:
    • inplace_vector
    • fixed_string
    • blocking_queue
    • ring_buffer
  • async-io and schedulers:
    • io_context
    • round_robin_scheduler
    • noop_scheduler
    • async_write
    • async_read
    • async_mutex
  • others:
    • when_all
    • sync_wait
    • async_scope
    • steady_timer

note that some network and async-io facilities are currently only implemented using epoll on linux.

build and install

build

cmake -S . -B <your build directory>
cmake --build <your build directory>

build examples

cmake -S . -B <your build directory> -DCOIO_EXAMPLES=ON
cmake --build <your build directory>

install

cmake --install <your build directory> --prefix <your install directory>

Releases

No releases published

Packages

No packages published

Languages