[library Boost.Histogram [quickbook 1.6] [authors [Dembinski, Hans] [Morgenstern, Klemens]] [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 implements two easy-to-use and powerful n-dimensional [@https://en.wikipedia.org/wiki/Histogram histogram] classes, using a policy-based design, optimized for convenience, customizability, and highest performance. Two histogram implementations in C++ are included. [classref boost::histogram::static_histogram static_histogram] exploits compile-time information as much as possible to provide the maximum performance, but has no run-time flexibility. [classref boost::histogram::dynamic_histogram dynamic_histogram] makes the opposite trade-off. The two classes share an interface. Optional Python bindings for the [classref boost::histogram::dynamic_histogram dynamic_histogram] are included, based on [@boost:/libs/python/index.html Boost.Python]. Optional serialization support is implemented, based on [@boost:/libs/serialization/index.html Boost.Serialization]. The histograms have value semantics. Move operations and trips over the language boundary from C++ to Python and back are cheap. Histograms can be streamed from/to files and pickled in Python. [@http://www.numpy.org Numpy] is supported to speed up operations in Python: histograms can be filled with Numpy arrays at high speed (*faster* than Numpy's own histogram functions) and are convertible into Numpy arrays without copying data. My goal is to submit this project to [@http://www.boost.org Boost], that's why 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] [include motivation.qbk] [include build.qbk] [include tutorial.qbk] [include guide.qbk] [include benchmarks.qbk] [include rationale.qbk] [include concepts.qbk] [xinclude autodoc.xml] [include changelog.qbk] [include references.qbk]