adaptive_storage
public
construct/copy/destructexplicit adaptive_storage(std::size_t s);
adaptive_storage() = default;
adaptive_storage(const adaptive_storage &) = default;
adaptive_storage(adaptive_storage &&) = default;
explicit adaptive_storage(std::size_t s);
adaptive_storage() = default;
adaptive_storage(const adaptive_storage &) = default;
adaptive_storage(adaptive_storage &&) = default;
template<typename RHS, typename = detail::is_storage<RHS> > - explicit adaptive_storage(const RHS & rhs);
adaptive_storage & operator=(const adaptive_storage &) = default;
adaptive_storage & operator=(adaptive_storage &&) = default;
template<typename RHS> adaptive_storage & operator=(const RHS & rhs);
adaptive_storage & operator=(const adaptive_storage &) = default;
adaptive_storage & operator=(adaptive_storage &&) = default;
template<typename RHS> adaptive_storage & operator=(const RHS & rhs);
adaptive_storage public member functionsadaptive_storage public member functionsstd::size_t size() const;
void increase(std::size_t i);
template<typename T> void add(std::size_t i, const T & value);
std::size_t size() const;
void increase(std::size_t i);
template<typename T> void add(std::size_t i, const T & value);
template<typename T> - void add(std::size_t i, const T & value, const T & variance);
void weighted_increase(std::size_t i, const double weight);
value_type value(std::size_t i) const;
value_type variance(std::size_t i) const;
bool operator==(const adaptive_storage & rhs) const;
adaptive_storage & operator+=(const adaptive_storage & rhs);
void weighted_increase(std::size_t i, const double weight);
value_type value(std::size_t i) const;
value_type variance(std::size_t i) const;
bool operator==(const adaptive_storage & rhs) const;
adaptive_storage & operator+=(const adaptive_storage & rhs);
template<typename RHS, typename = detail::is_storage<RHS> > - adaptive_storage & operator+=(const RHS & rhs);
adaptive_storage & operator*=(const value_type x);
adaptive_storage & operator*=(const value_type x);
any_axis
public
construct/copy/destructany_axis() = default;
any_axis(const any_axis & t) = default;
any_axis(any_axis && t) = default;
any_axis() = default;
any_axis(const any_axis & t) = default;
any_axis(any_axis && t) = default;
template<typename T, typename = typename std::enable_if< mpl::contains<Axes, T>::value >::type> - any_axis(const T & t);
any_axis & operator=(const any_axis & t) = default;
any_axis & operator=(any_axis && t) = default;
any_axis & operator=(const any_axis & t) = default;
any_axis & operator=(any_axis && t) = default;
template<typename T, typename = typename std::enable_if< mpl::contains<Axes, T>::value >::type> - any_axis & operator=(const T & t);
template<typename T, typename = typename std::enable_if< mpl::contains<Axes, T>::value >::type> - any_axis & operator=(T && t);
any_axis public member functionsany_axis public member functionsint size() const;
int shape() const;
bool uoflow() const;
int index(const double x) const;
::boost::string_view label() const;
void label(const ::boost::string_view x);
axis::interval< double > operator[](const int i) const;
bool operator==(const any_axis & rhs) const;
int size() const;
int shape() const;
bool uoflow() const;
int index(const double x) const;
string_view label() const;
void label(const string_view x);
axis::interval< double > operator[](const int i) const;
bool operator==(const any_axis & rhs) const;
array_storage
public
construct/copy/destructexplicit array_storage(std::size_t s);
array_storage() = default;
array_storage(const array_storage & other);
array_storage(array_storage && other);
explicit array_storage(std::size_t s);
array_storage() = default;
array_storage(const array_storage & other);
array_storage(array_storage && other);
template<typename S, typename = detail::is_storage<S> > - explicit array_storage(const S & other);
array_storage & operator=(const array_storage & other);
array_storage & operator=(array_storage && other);
template<typename S> array_storage & operator=(const S & other);
array_storage & operator=(const array_storage & other);
array_storage & operator=(array_storage && other);
template<typename S> array_storage & operator=(const S & other);
array_storage public member functionsarray_storage public member functionsstd::size_t size() const noexcept;
void increase(std::size_t i) noexcept;
void add(std::size_t i, const value_type & n) noexcept;
void add(std::size_t i, const value_type & n, const value_type &) noexcept;
value_type value(std::size_t i) const noexcept;
value_type variance(std::size_t i) const noexcept;
std::size_t size() const noexcept;
void increase(std::size_t i) noexcept;
void add(std::size_t i, const value_type & n) noexcept;
void add(std::size_t i, const value_type & n, const value_type &) noexcept;
value_type value(std::size_t i) const noexcept;
value_type variance(std::size_t i) const noexcept;
template<typename U> - array_storage & operator+=(const array_storage< U > & rhs) noexcept;
array_storage & operator*=(const value_type x) noexcept;
array_storage & operator*=(const value_type x) noexcept;
axis_base
public
construct/copy/destructaxis_base(unsigned n, string_view label);
axis_base() = default;
axis_base(const axis_base &) = default;
axis_base(axis_base && rhs);
axis_base & operator=(const axis_base &) = default;
axis_base & operator=(axis_base && rhs);
axis_base(unsigned n, string_view label);
axis_base() = default;
axis_base(const axis_base &) = default;
axis_base(axis_base && rhs);
axis_base & operator=(const axis_base &) = default;
axis_base & operator=(axis_base && rhs);
axis_base public member functionsaxis_base public member functionsint size() const noexcept;Returns the number of bins, excluding overflow/underflow.
int size() const noexcept;Returns the number of bins, excluding overflow/underflow.
int shape() const noexcept;Returns the number of bins, including overflow/underflow.
int shape() const noexcept;Returns the number of bins, including overflow/underflow.
bool uoflow() const noexcept;Returns whether axis has extra overflow and underflow bins.
bool uoflow() const noexcept;Returns true if axis has extra overflow and underflow bins.
string_view label() const noexcept;Returns the axis label, which is a name or description.
string_view label() const noexcept;Returns the axis label, which is a name or description.
void label(string_view label);Change the label of an axis.
void label(string_view label);Change the label of an axis.
axis_base_uoflow
public
construct/copy/destructaxis_base_uoflow(unsigned n, string_view label, enum uoflow uo);
axis_base_uoflow() = default;
axis_base_uoflow(const axis_base_uoflow &) = default;
axis_base_uoflow(axis_base_uoflow && rhs);
axis_base_uoflow & operator=(const axis_base_uoflow &) = default;
axis_base_uoflow & operator=(axis_base_uoflow && rhs);
axis_base_uoflow(unsigned n, string_view label, enum uoflow uo);
axis_base_uoflow() = default;
axis_base_uoflow(const axis_base_uoflow &) = default;
axis_base_uoflow(axis_base_uoflow && rhs);
axis_base_uoflow & operator=(const axis_base_uoflow &) = default;
axis_base_uoflow & operator=(axis_base_uoflow && rhs);
axis_base_uoflow public member functionsaxis_base_uoflow public member functionsint shape() const noexcept;Returns the number of bins, including overflow/underflow.
int shape() const noexcept;Returns the number of bins, including overflow/underflow.
bool uoflow() const noexcept;Returns whether axis has extra overflow and underflow bins.
bool uoflow() const noexcept;Returns whether axis has extra overflow and underflow bins.
axis_base_uoflow protected member functionsbool operator==(const axis_base_uoflow & rhs) const noexcept;
axis_base_uoflow protected member functionsbool operator==(const axis_base_uoflow & rhs) const noexcept;
axis_iterator
public
construct/copy/destructexplicit axis_iterator(const Axis & axis, int idx);
axis_iterator(const axis_iterator & o) = default;
axis_iterator & operator=(const axis_iterator & o) = default;
explicit axis_iterator(const Axis & axis, int idx);
axis_iterator(const axis_iterator & o) = default;
axis_iterator & operator=(const axis_iterator & o) = default;
axis_iterator private member functionsaxis_iterator private member functionsvoid increment() noexcept;
void decrement() noexcept;
void advance(int n) noexcept;
int distance_to(const axis_iterator & other) const noexcept;
bool equal(const axis_iterator & other) const noexcept;
value_type & dereference() const;
void increment() noexcept;
void decrement() noexcept;
void advance(int n) noexcept;
int distance_to(const axis_iterator & other) const noexcept;
bool equal(const axis_iterator & other) const noexcept;
value_type & dereference() const;
The axis maps a set of values to bins, following the order of arguments in the constructor. There is an optional overflow bin for this axis, which counts values that are not part of the set. Binning is a O(1) operation. The value type must be hashable.
category
public
construct/copy/destructcategory() = default;
category(const category & rhs);
category(category && rhs) = default;
category() = default;
category(const category & rhs);
category(category && rhs) = default;
category(std::initializer_list< T > seq, string_view label = {});Construct from an initializer list of strings.
+
category(std::initializer_list< T > seq, string_view label = {});Construct from an initializer list of strings.
template<typename Iterator> - category(Iterator begin, Iterator end, string_view label = {});
category & operator=(const category & rhs);
category & operator=(category && rhs) = default;
category & operator=(const category & rhs);
category & operator=(category && rhs) = default;
category public member functionscategory public member functionsint index(const value_type & x) const noexcept;Returns the bin index for the passed argument.
Performs a range check.
+int index(const value_type & x) const noexcept;Returns the bin index for the passed argument.
Performs a range check.
bin_type operator[](int idx) const;Returns the value for the bin index.
bool operator==(const category & o) const noexcept;
const_iterator begin() const;
const_iterator end() const;
bin_type operator[](int idx) const;Returns the value for the bin index. +
bool operator==(const category & o) const noexcept;
const_iterator begin() const;
const_iterator end() const;
The axis is circular and wraps around reaching the perimeter value. Therefore, there are no overflow/underflow bins for this axis. Binning is a O(1) operation.
circular
public
construct/copy/destructcircular() = default;
circular(const circular &) = default;
circular(circular &&) = default;
circular & operator=(const circular &) = default;
circular & operator=(circular &&) = default;
circular() = default;
circular(const circular &) = default;
circular(circular &&) = default;
circular & operator=(const circular &) = default;
circular & operator=(circular &&) = default;
circular public member functionscircular public member functionsint index(value_type x) const noexcept;Returns the bin index for the passed argument.
int index(value_type x) const noexcept;Returns the bin index for the passed argument.
bin_type operator[](int idx) const;Returns the starting edge of the bin.
bool operator==(const circular & o) const noexcept;
value_type perimeter() const;
value_type phase() const;
const_iterator begin() const;
const_iterator end() const;
bin_type operator[](int idx) const;Returns the starting edge of the bin. +
bool operator==(const circular & o) const noexcept;
value_type perimeter() const;
value_type phase() const;
const_iterator begin() const;
const_iterator end() const;
Binning is a O(1) operation. This axis operates faster than a regular.
integer
public
construct/copy/destructinteger(value_type lower, value_type upper, string_view label = {}, +integer(value_type lower, value_type upper, string_view label = {}, enum uoflow uo = ::boost::histogram::axis::uoflow::on);Construct axis over a semi-open integer interval [lower, upper).
@@ -101,30 +101,30 @@
integer() = default;
integer(const integer &) = default;
integer(integer &&) = default;
integer & operator=(const integer &) = default;
integer & operator=(integer &&) = default;
integer() = default;
integer(const integer &) = default;
integer(integer &&) = default;
integer & operator=(const integer &) = default;
integer & operator=(integer &&) = default;
integer public member functionsinteger public member functionsint index(value_type x) const noexcept;Returns the bin index for the passed argument.
int index(value_type x) const noexcept;Returns the bin index for the passed argument.
bin_type operator[](int idx) const;Returns the integer that is mapped to the bin index.
bool operator==(const integer & o) const noexcept;
const_iterator begin() const;
const_iterator end() const;
bin_type operator[](int idx) const;Returns the integer that is mapped to the bin index. +
bool operator==(const integer & o) const noexcept;
const_iterator begin() const;
const_iterator end() const;
interval
public
construct/copy/destructinterval() = default;
interval(const interval &) = default;
interval(interval &&) = default;
interval(const T & x, const T & y);
interval(T && x, T && y);
template<typename U> interval(const interval< U > & i);
interval & operator=(const interval &) = default;
interval & operator=(interval &&) = default;
interval() = default;
interval(const interval &) = default;
interval(interval &&) = default;
interval(const T & x, const T & y);
interval(T && x, T && y);
template<typename U> interval(const interval< U > & i);
interval & operator=(const interval &) = default;
interval & operator=(interval &&) = default;
interval public member functionsinterval public member functionsconst T & lower() const noexcept;
const T & upper() const noexcept;
bool operator==(const interval & i) const noexcept;
bool operator!=(const interval & i) const noexcept;
const T & lower() const noexcept;
const T & upper() const noexcept;
bool operator==(const interval & i) const noexcept;
bool operator!=(const interval & i) const noexcept;