etl/docs/maths/histogram.md
2026-04-15 13:02:52 +02:00

5.4 KiB

title
Histgram

{{< callout type="info">}} Header: histogram.h
Since: 20.9.0
{{< /callout >}}

Member types

const_iterator The iterator used to traverse the histogram data.
key_type The index type for the histogram.
count_type The type used for the histogram counter.
value_type The type returned from the histogram.

Constants

Max_Size The maximum number of elements in the histogram.

histogram

template <typename TKey, typename TCount, size_t Max_Keys>
class histogram

Description
A histogram where the start index of the keys is defined in the constructor.

Member functions

histogram()

Description
Default constructor.


template <typename TIterator>
histogram(TIterator first, TIterator last)

Description
Construct from an iterator range.


histogram

template <typename TKey, typename TCount, size_t Max_Keys, size_t Start_Index>
class histogram

Description
A histogram where the start index of the keys is defined as a template parameter.

Member functions

histogram()

Description
Default constructor.


template <typename TIterator>
histogram(TIterator first, TIterator last)

Description
Construct from an iterator range.


histogram(const histogram& other)

Description
Copy constructor.


histogram(histogram&& other)

Description
Move constructor.


histogram& operator =(const histogram& rhs)

Description
Assignment operator.


histogram& operator =(histogram&& rhs)

Description
Move assignment operator.


void add(key_type key)

Description
Increment the count for the key.


template <typename TIterator>
void add(TIterator first, TIterator last)

Description
Increment the counts for the keys from an iterator range.


void operator ()(key_type key)

Description
Increment the count for the key.


template <typename TIterator>
void operator ()(TIterator first, TIterator last)

Description
Increment the counts for the keys from an iterator range.


value_type operator [](key_type key) const

Description
Get the count for a key.


const_iterator begin() const
const_iterator cbegin() const

Description
Get the iterator to the first histogram entry.


const_iterator end() const
const_iterator cend() const

Description
Get the iterator to the last + 1 histogram entry.


void clear()

Description
Clear the counts to zero.


ETL_CONSTEXPR size_t size() const

Get the number of items in the histogram. Description
Always equal to max_size().


ETL_CONSTEXPR size_t max_size() const

Description
Get the number of items in the histogram.


size_t count() const

Description
Get the total of all the counts.

sparse_histogram

template <typename TKey, typename TCount, size_t Max_Keys>
class sparse_histogram

Description
A histogram where the keys are sparse or non-integral types.

Types

const_iterator The iterator used to traverse the histogram data. key_type The index type for the histogram. count_type The type used for the histogram counter. value_type The type returned from the histogram. A pair containing the key and count.

Constants

Max_Size The maximum number of elements in the histogram.

Member functions

sparse_histogram()

Description
Default constructor.


template <typename TIterator>
sparse_histogram(TIterator first, TIterator last)

Description
Construct from an iterator range.


sparse_histogram(const sparse_histogram& other)

Description
Copy constructor.


sparse_histogram(sparse_histogram&& other)

Description
Move constructor.


sparse_histogram& operator =(const sparse_histogram& rhs)

Description
Assignment operator.


sparse_histogram& operator =(sparse_histogram&& rhs)

Description
Move assignment operator.


void add(key_type key)

Description
Increment the count for the key.


template <typename TIterator>
void add(TIterator first, TIterator last)

Description
Increment the counts for the keys from an iterator range.


void operator ()(key_type key)

Description
Increment the count for the key.


template <typename TIterator>
void operator ()(TIterator first, TIterator last)

Description
Increment the counts for the keys from an iterator range.


const value_type& operator [](key_type key) const

Description
Get the count for a key.


const_iterator begin() const
const_iterator cbegin() const

Description
Get the iterator to the first histogram entry.


const_iterator end() const
const_iterator cend() const

Description
Get the iterator to the last + 1 histogram entry.


void clear()

Description
Clear the counts to zero.


ETL_CONSTEXPR size_t size() const

Description
Get the number of items in the histogram.


ETL_CONSTEXPR size_t max_size() const

Description
Get the number of items in the histogram.


size_t count() const

Description
Get the total of all the counts.