<!DOCTYPE html>
<html>
<title>readme</title>
<xmp theme="united" style="display:none;">

Reference
=======

Project:

- [Features and design goals](features.html) - the complete list of features
- [Roadmap](roadmap.html) - upcoming features
- [Benchmarks](benchmarks.html) - compile-time and runtime supremacy
- [Contributing](../../CONTRIBUTING.html) - how to make a proper pull request
- [Changelog](../../CHANGELOG.html) - generated changelog based on closed issues/PRs

Usage:

- [Tutorial](tutorial.html) - make sure you have read it before the other parts of the documentation
- [Assertion macros](assertions.html)
- [Test cases, subcases and test fixtures](testcases.html)
- [Parameterized test cases](parameterized-tests.html)
- [Logging macros](logging.html)
- [Command line](commandline.html)
- [```main()``` entry point](main.html)
- [Configuration](configuration.html)
- [String conversions](stringification.html)
- [Reporters](reporters.html)
- [FAQ](faq.html)
- [Build systems](build-systems.html)
- [Examples](../../examples)

This library is free, and will stay free but needs your support to sustain its development. There are lots of [**new features**](roadmap.html) and maintenance to do. If you work for a company using **doctest** or have the means to do so, please consider financial support.

[![Patreon](https://cloud.githubusercontent.com/assets/8225057/5990484/70413560-a9ab-11e4-8942-1a63607c0b00.png)](http://www.patreon.com/onqtam)
[![PayPal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.me/onqtam/10)

------------

<p align="center"><img src="../../scripts/data/logo/icon_2.svg"></p>


</xmp>
<script src="strapdown.js/strapdown.js"></script>
</html>
