Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Struct template is_inclusive

boost::histogram::axis::traits::is_inclusive — Meta-function to detect whether an axis is inclusive.


// In header: <boost/histogram/axis/traits.hpp>

template<typename Axis> 
struct is_inclusive {


Doxygen does not render this well. This is a meta-function (template alias), it accepts an axis type and represents compile-time boolean which is true or false, depending on whether the axis is inclusive or not.

An inclusive axis has a bin for every possible input value. In other words, all possible input values always end up in a valid cell and there is no need to keep track of input tuples that need to be discarded. A histogram which consists entirely of inclusive axes can be filled more efficiently, which can be a factor 2 faster.

An axis with underflow and overflow bins is always inclusive, but an axis may be inclusive under other conditions. The meta-function checks for the method constexpr static bool inclusive(), and uses the result. If this method is not present, it uses get_options<Axis> and checks whether the underflow and overflow bits are present.

Template Parameters

  1. typename Axis

    axis type