Favicon of uvw

uvw

Header-only or static library wrapper for libuv in modern C++. Event-based, lightweight, and easy to integrate with clean C++ API.

Other

uvw is a header-only and compilable static library wrapper for libuv written in modern C++. It provides a graceful C++ interface that wraps the C-style libuv API while maintaining compatibility with libuv's design principles.

Key Features:

  • Dual-mode library - Use as header-only or compile as static library
  • Event-based architecture - Handle asynchronous operations with intuitive event callbacks
  • Modern C++17 - Clean, type-safe API leveraging contemporary C++ features
  • Lightweight - Minimal overhead over libuv with no unnecessary abstractions
  • True to libuv - Maintains the same rules and patterns as the underlying library
  • Comprehensive documentation - Doxygen-generated API reference with examples
  • Well-tested - Includes test suite with googletest integration

Core Concepts:

Resources in uvw fall into two categories: handles (long-lived objects performing operations) and requests (typically short-lived operations). The fundamental rule is simple: always initialize resources before use and close them when finished.

Getting Started:

Include the main header and create resources through the event loop. Register event handlers using the .on<EventType>() method, then perform operations. The library supports TCP/UDP networking, file I/O, timers, and other libuv capabilities through an elegant C++ interface.

Available through vcpkg and compatible with CMake, Meson, and manual compilation workflows.

Features

Async I/OScriptable

Media

Pros

3
  • Modern C++ API for libuv
  • Header-only or static library options
  • Lightweight and easy to integrate

Related tools

Share:

Quiet lately: No commits in 7 months — this project might not be actively maintained.

Auto-fetched .

Similar to uvw

Favicon

 

  
 
Favicon

 

  
 
Favicon