doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other feature-rich alternatives. It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code by providing a fast, transparent and flexible test runner with a clean interface. The framework is and will stay free but needs your support to sustain its development. There are lots of new features and maintenance to do. If you work for a company using doctest or have the means to do so, please consider financial support. Monthly donations via Patreon and one-offs via PayPal.
c-plus-plus doctest tdd testing unit-testing header-only cplusplus cpp cpp11 cpp14 cpp17 single-file test-frameworkCatch2 stands for C++ Automated Test Cases in a Header and is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C). It is primarily distributed as a single header file, although certain extensions may require additional headers.
c-plus-plus cpp98 cpp11 testing test-framework tdd bdd header-only single-file no-dependencies framework unit-testing testHeader-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.
cplusplus cplusplus-17 c-plus-plus c-plus-plus-17 cpp cpp17 enum-to-string string-to-enum serialization reflection metaprogramming header-only single-file no-dependenciesHeader-only C++17 library provides nameof macros and functions to simply obtain the name of a variable, type, function, macro, and enum. Nameof returns std::string_view. If argument does not have name, returns empty string.
cplusplus cplusplus-17 c-plus-plus c-plus-plus-17 cpp cpp17 nameof nameof-operator enum-to-string serialization reflection metaprogramming header-only single-file no-dependenciesGSL Lite is based on the Microsoft Guidelines Support Library (GSL). gsl-lite is a single-file header-only variant of Microsoft's implementation of the Guidelines Support Library (GSL) adapted for C++98, C++03. It should also work when compiled as C++11, C++14, C++17.
gsl cpp98 cpp11 cpp14 cpp17 header-only single-file gsl-implementations no-dependenciesThis tiny C++11 test framework is based on ideas and examples by Kevlin Henney [1,2] and on ideas found in the CATCH test framework by Phil Nash [3]. Let writing tests become irresistibly easy and attractive.
testing cpp11 cpp98 header-only no-dependencies tdd bdd tiny-framework single-fileIf you're writing a highly-sophisticated command line tool, then Boost.Program_options and its kind might give you many advanced options. However, if you need to get up and running quickly, effectively and with minimal fuss, give the single header-file argh a try.
command-line cpp11 cli-args getopt getopts header-only single-file argument-parser cli command-line-parserdmc_unrar is a dependency-free, single-file FLOSS library for unpacking and decompressing RAR archives. dmc_unrar is licensed under the terms of the GNU General Public License version 2 (or later). Please see dmc_unrar.c for details.
rar unrar winrar decompression decompress decompressor unpack unpacker single-file dependency-free archive library c89 c99Minixed is a minimal but nice-looking PHP directory indexer. You can see it as a replacement for the Apache mod_autoindex. «How does it look?» Like this. «I don't like it.» You are a CSS master, right? Good, you know what to do.
directory-lister file-list single-file indexerTotal fancy node.js webserver for transfering files from/to browser console and terminal
single-file file-server node-js webserver cli commandline uploadserverSimple PHP shell script, yet powerful enough.
shell-script single-file simpleany lite is a single-file header-only library to represent a type-safe container for single values of any type. The library aims to provide a C++17-like any for use with C++98 and later. If available, std::any is used. Features and properties of any lite are ease of installation (single header), freedom of dependencies other than the standard library. any lite shares the approach to in-place tags with expected-lite, optional-lite and with variant-lite and these libraries can be used together.
cpp98 cpp17 any no-dependencies single-file header-only any-implementationsbyte lite is a single-file header-only library to provide a C++17-like distinct byte type for use with C++98 and later. Features and properties of byte lite are are ease of installation (single header), freedom of dependencies other than the standard library.
cpp98 cpp17 byte no-dependencies single-file header-only byte-implementationsIf your logging requirements are modest or you like to begin light, then clue may be for you. clue is a C++03 header-only library to log messages with a severity and optional module identifier. Provided logging destinations are the console, the Windows debugger, the Windows event log, an in-memory log (string) and Unix syslog. You can also define your own logging destination. clue is based on an idea by Mark Nelson, presented in DrDobbs [1] and on ideas found in the CATCH test framework by Phil Nash [2].
cpp98 header-only single-file no-dependencies loggingexpected lite is a single-file header-only library for objects that either represent a valid value or an error that you can pass by value. It is intended for use with C++11 and later. The library is based on the std::expected proposal [1] . expected lite is a single-file header-only library to represent value objects that either contain a valid value or an error. The library is a partly implementation of the proposal for std::expected [1,2,3] for use with C++11 and later.
cpp11 header-only single-file no-dependencies expected-implementationsexpected lite is a single-file header-only library for objects that either represent a valid value or an error that you can pass by value. It is intended for use with C++11 and later. The library is based on the std::expected proposal [1] . expected lite is a single-file header-only library to represent value objects that either contain a valid value or an error. The library is a partly implementation of the proposal for std::expected [1,2,3] for use with C++11 and later.
cpp11 header-only single-file no-dependencies expected-implementationsoptional lite is a single-file header-only library to represent optional (nullable) objects and pass them by value. The library aims to provide a C++17-like optional for use with C++98 and later. If available, std::optional is used. There's also a simpler version, optional bare. Unlike optional lite, optional bare is limited to default-constructible and copyable types. Features and properties of optional lite are ease of installation (single header), freedom of dependencies other than the standard library and control over object alignment (if needed). optional lite shares the approach to in-place tags with any-lite, expected-lite and with variant-lite and these libraries can be used together.
cpp98 cpp17 no-dependencies single-file header-only optional optional-implementationsA small C++11 header-only library for compile-time dimensional analysis and unit/quantity manipulation and conversion. This library is based on the quantity compile-time library by Michael S. Kenniston[1] and expanded and adapted for C++11 by Martin Moene.
compile-time units-of-measure dimensional-analysis header-only no-dependencies unit-conversion cpp14 cpp11 single-filering-span lite is a single-file header-only library to represent a circular buffer view on a container. The library aims to provide a C++yy-like ring_span for use with C++98 and later [1][2]. Its initial code is inspired on the reference implementation by Arthur O'Dwyer [3]. It is my intention to let the interface of this ring_span follow the unfolding standard one. Features and properties of ring-span lite are ease of installation (single header), freedom of dependencies other than the standard library.
cpp98 cpp11 cpp14 cpp17 ring-buffer ring-span ring no-dependencies single-file header-onlyspan lite is a single-file header-only library to provide a bounds-safe view for sequences of objects. The library provides a C++20-like span for use with C++98 and later. If available, std::span is used, unless configured otherwise. Features and properties of span lite are ease of installation (single header), freedom of dependencies other than the standard library. To compensate for the class template argument deduction that is missing from pre-C++17 compilers, nonstd::span can provide make_span functions. See configuration.
cpp98 cpp11 cpp14 cpp17 cpp20 no-dependencies single-file header-only span span-implementation
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.