close
Skip to main content

r/cpp_review


Review of CLIPP
Review of CLIPP

Please read the rules first, before posting.

CLIPP

Command Line Interfaces for Modern C++

Abstract:

CLIPP is a single header library for building command line interfaces / command line argument parsing. It also generates usage lines and per-parameter documentation with custom formatting. Simple interfaces with a few options can be set up with a few lines of code and almost no boilerplate. At the same time it can be used to build complex interfaces with arbitrary numbers of values per parameter, grouping, multiple nested alternatives, (generalized) joinable flags, repeatable groups, controllable paramter matching order, custom value filters, full control over flag prefixes, error checking, ...

Notes: The documentation is written in an example-oriented style.


Review of scope_guard
Review of scope_guard

Please read the rules first, before posting.

scope_guard

  • Library repository: https://github.com/ricab/scope_guard

  • Library documentation: https://ricab.github.io/scope_guard (API in https://ricab.github.io/scope_guard/docs/interface.html)

  • Library dependencies: None to use (beyond standard C++11 or above); catch2 and cmake to run tests

  • Library license: Unlicense

  • Required C++ Standard: C++11 minimum; C++17 recommended (additional option)

  • Version: v0.2.3(meant as candidate to v1.0.0)

  • Abstract: A modern C++ scope guard that is easy to use but hard to misuse. Note: while the concept is not original and there are many scope guard implementations available, I did not find any with all the characteristics I aimed for here - safe, tested, documented, public domain, thin wrapping, general, standalone, simple interface... A complete feature list and design decisions are provided in the documentation.


Review of sparse-map
Review of sparse-map

Please read the rules first, before posting.

sparse-map

Abstract: The library provides a memory-efficient hash map and a hash set using sparse quadratic probing. The library tries to mimic the interface of std::unordered_map/set closely.

Review result: sparse-map has been passed the review with success.