histogram/doc/histogram.qbk
2019-01-11 00:06:26 +01:00

44 lines
2.5 KiB
Plaintext

[library Boost.Histogram
[quickbook 1.6]
[authors [Dembinski, Hans]]
[copyright 2016-2017 Hans Dembinski]
[id histogram]
[dirname histogram]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
]
]
[section Abstract]
This `C++11` library provides an easy-to-use and multi-dimensional [@https://en.wikipedia.org/wiki/Histogram histogram] template class for your counting and statistics needs. It is very customisable through policy classes, but the default policies were carefully crafted so that most users won't need to customize anything. The histogram has a convenient interface, designed to work well for the one- and multi-dimensional cases. If the default policies are used, the histogram is guaranteed to be safe to use as a black box, memory efficient, and very fast. Safe means that bin counts *cannot overflow* or be capped at some large value, which is generally not guaranteed in other implementations.
The histogram class comes in two variants, which share a common interface. The *static* variant uses a maximum of compile-time information to provide maximum performance, at the cost of reduced runtime flexibility and potentially larger executables, if many different histograms are instantiated. The *dynamic* variant is a bit slower, but configurable at run-time, and does not increase the size of the executable if several different configurations are used. Optional serialization support is implemented with [@boost:/libs/serialization/index.html Boost.Serialization].
My goal is to submit this project to [@http://www.boost.org Boost], thus it uses the Boost directory structure and namespace. The code is released under the [@http://www.boost.org/LICENSE_1_0.txt Boost Software License].
[endsect]
[section Acknowledgments]
Klemens Morgenstern helped me to make this library boost-compliant, converting the documentation and adding Jamfiles, and provided code improvements.
Mateusz Loskot kindly agreed to be the Review Manager for this library and contributed various patches, for example, better Jamfiles.
Steven Watanabe provided an outstandingly detailed review of the documentation and code of the library.
[endsect]
[include motivation.qbk]
[include build.qbk]
[include getting_started.qbk]
[include guide.qbk]
[include benchmarks.qbk]
[include rationale.qbk]
[include concepts.qbk]
[xinclude autodoc.xml]
[include changelog.qbk]
[include bibliography.qbk]