Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 1.79 KB

README.md

File metadata and controls

77 lines (50 loc) · 1.79 KB

Warning

This is very much a work in progress and is not ready for use quite yet.

Narrows

Narrows is a C++ channel library providing efficient and easy-to-use communication channels for concurrent programming. This library was a chance for me to learn more personally about cross thread channels, and you probably want to make sure you consider the tradeoffs I've made before using it for your project. Once I'm done with it, this README will give a good introduction to narrows, but for more information I'd suggest poking around the docs folder, as it has some writing on the history and design of narrows and can give you an idea of where the library came from.

Features

  • Bounded channel: A channel with a fixed capacity

    auto [s, r] = nrws::bounded<int>(10);
  • Unbounded channel: A channel with no upper bound on its capacity

    auto [s, r] = nrws::unbounded<int>();

Design Tradeoffs

  • Bounded channel
    • [Add tradeoffs here]
  • Unbounded channel
    • [Add tradeoffs here]

Installation

[Provide installation instructions here]

Usage

Bounded Channel

// Example code for using a bounded channel

Unbounded Channel

// Example code for using an unbounded channel

API Reference

[Provide a brief overview of key classes and functions]

Performance

[Include any performance metrics or comparisons]

Contributing

[Instructions for contributors]

License

[Specify the license]

Acknowledgements