xaxis_base

Defined in xframe/xaxis_base.hpp

template<class D>
class xaxis_base

Base class for axes.

The xaxis_base class defines the common interface for axes, which define the mapping of labels to positions in a given dimension. The axis_base class embeds the list of labels only, the mapping is hold by the inheriting classes.

Template Parameters
  • D: The derived type, i.e. the inheriting class for which xaxis_base provides the interface.

Labels

auto labels() const

Returns the list of labels contained in the axis.

auto label(size_type i) const

Return the i-th label of the axis.

Parameters
  • i: the position of the label.

bool empty() const

Checks if the axis has no labels.

auto size() const

Returns the number of labels in the axis.

Iterators

auto begin() const

Returns a constant iterator to the first element of the axis.

This element is a pair label - position.

auto end() const

Returns a constant iterator to the element following the last element of the axis.

auto rbegin() const

Returns a constant iterator to the first element of the reverse axis.

This element is a pair labal - position.

auto rend() const

Returns a constant iterator to the element following the last element of the reversed axis.

auto crbegin() const

Returns a constant iterator to the first element of the reverse axis.

This element is a pair labal - position.

auto crend() const

Returns a constant iterator to the element following the last element of the reversed axis.

template<class D1, class D2>
bool xf::operator==(const xaxis_base<D1> &lhs, const xaxis_base<D2> &rhs)

Returns true is lhs and rhs are equivalent axes, i.e.

they contain the same label - position pairs.

Parameters
  • lhs: an axis.

  • rhs: an axis.

template<class D1, class D2>
bool xf::operator!=(const xaxis_base<D1> &lhs, const xaxis_base<D2> &rhs)

Returns true is lhs and rhs are not equivalent axes, i.e.

they contain different label - position pairs.

Parameters
  • lhs: an axis.

  • rhs: an axis.