Skip to main content

class coordinate

Declaration

template <typename Interface, int Dims>
class coordinate { /* full declaration omitted */ };

Template Parameters

Interface
int Dims

Member Variables

static const int dimensions = Dims
coordinate_storage<Interface, Dims> m_values

Member Function Overview

  • coordinate()
  • template <typename InterfaceIn, int DimsIn>
    coordinate(make_from_t, const coordinate<InterfaceIn, DimsIn> & other, size_t default_value) → constexpr
  • template <typename InterfaceIn>
    coordinate(make_from_t, const coordinate<InterfaceIn, Dims> & other) → constexpr
  • template <typename... Values, typename = std::enable_if_t<sizeof...(Values) + 1 == Dims && (... && std::is_convertible_v<Values, size_t>)>>
    coordinate(size_t dim_0, const Values... dim_n) → constexpr
  • get(int dimension) const → constexpr size_t
  • operator[](int dimension) → constexpr size_t &
  • operator[](int dimension) const → constexpr size_t

Friend Function Overview

  • operator!=(const Interface & lhs, const Interface & rhs) → friend constexpr bool
  • operator%(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator%(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator%(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator%=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator%=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator&(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator&(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator&(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator&&(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator&&(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator&&(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator&=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator&=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator*(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator*(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator*(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator*=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator*=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator+(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator+(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator+(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator+(const Interface & rhs) → friend constexpr Interface
  • operator++(Interface & lhs, int) → friend constexpr Interface
  • operator++(Interface & rhs) → friend constexpr Interface &
  • operator+=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator+=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator-(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator-(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator-(const Interface & rhs) → friend constexpr Interface
  • operator-(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator--(Interface & lhs, int) → friend constexpr Interface
  • operator--(Interface & rhs) → friend constexpr Interface &
  • operator-=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator-=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator/(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator/(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator/(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator/=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator/=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator<(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator<(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator<(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator<<(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator<<(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator<<(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator<<=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator<<=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator<=(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator<=(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator<=(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator==(const Interface & lhs, const Interface & rhs) → friend constexpr bool
  • operator>(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator>(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator>(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator>=(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator>=(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator>=(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator>>(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator>>(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator>>(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator>>=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator>>=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator^(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator^(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator^(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator^=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator^=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator|(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator|(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator|(const Interface & lhs, const Interface & rhs) → friend constexpr Interface
  • operator|=(Interface & lhs, const size_t & rhs) → friend constexpr Interface &
  • operator|=(Interface & lhs, const Interface & rhs) → friend constexpr Interface &
  • operator||(const size_t & lhs, const Interface & rhs) → friend constexpr Interface
  • operator||(const Interface & lhs, const size_t & rhs) → friend constexpr Interface
  • operator||(const Interface & lhs, const Interface & rhs) → friend constexpr Interface

Member Functions

coordinate()


template <typename InterfaceIn, int DimsIn>
constexpr coordinate(
    make_from_t,
    const coordinate<InterfaceIn, DimsIn>& other,
    size_t default_value)

Template Parameters

InterfaceIn
int DimsIn

Parameters

make_from_t
const coordinate<InterfaceIn, DimsIn>& other
size_t default_value

template <typename InterfaceIn>
constexpr coordinate(
    make_from_t,
    const coordinate<InterfaceIn, Dims>& other)

Template Parameters

InterfaceIn

Parameters

make_from_t
const coordinate<InterfaceIn, Dims>& other

template <
    typename... Values,
    typename = std::enable_if_t<
        sizeof...(Values) + 1 == Dims &&
        (... &&
         std::is_convertible_v<Values, size_t>)>>
constexpr coordinate(size_t dim_0,
                     const Values... dim_n)

Template Parameters

Values
= std::enable_if_t<sizeof...(Values) + 1 == Dims && (... && std::is_convertible_v<Values, size_t>)>

Parameters

size_t dim_0
const Values... dim_n

constexpr size_t get(int dimension) const

Parameters

int dimension

constexpr size_t& operator[](int dimension)

Parameters

int dimension

constexpr size_t operator[](int dimension) const

Parameters

int dimension

Friend Functions

friend constexpr bool operator!=(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator%(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator%(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator%(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface& operator%=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface& operator%=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface operator&(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator&(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator&(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator&&(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator&&(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator&&(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface& operator&=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface& operator&=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface operator*(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator*(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator*(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface& operator*=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface& operator*=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface operator+(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator+(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator+(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator+(
    const Interface& rhs)

Parameters

const Interface& rhs

friend constexpr Interface operator++(
    Interface& lhs,
    int)

Parameters

Interface& lhs
int

friend constexpr Interface& operator++(
    Interface& rhs)

Parameters

Interface& rhs

friend constexpr Interface& operator+=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface& operator+=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface operator-(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator-(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator-(
    const Interface& rhs)

Parameters

const Interface& rhs

friend constexpr Interface operator-(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator--(
    Interface& lhs,
    int)

Parameters

Interface& lhs
int

friend constexpr Interface& operator--(
    Interface& rhs)

Parameters

Interface& rhs

friend constexpr Interface& operator-=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface& operator-=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface operator/(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator/(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator/(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface& operator/=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface& operator/=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface operator<(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator<(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator<(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator<<(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator<<(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator<<(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface& operator<<=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface& operator<<=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface operator<=(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator<=(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator<=(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr bool operator==(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator>(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator>(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator>(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator>=(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator>=(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator>=(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator>>(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator>>(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface operator>>(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface& operator>>=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface& operator>>=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface operator^(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator^(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator^(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface& operator^=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface& operator^=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface operator|(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator|(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator|(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs

friend constexpr Interface& operator|=(
    Interface& lhs,
    const size_t& rhs)

Parameters

Interface& lhs
const size_t& rhs

friend constexpr Interface& operator|=(
    Interface& lhs,
    const Interface& rhs)

Parameters

Interface& lhs
const Interface& rhs

friend constexpr Interface operator||(
    const size_t& lhs,
    const Interface& rhs)

Parameters

const size_t& lhs
const Interface& rhs

friend constexpr Interface operator||(
    const Interface& lhs,
    const size_t& rhs)

Parameters

const Interface& lhs
const size_t& rhs

friend constexpr Interface operator||(
    const Interface& lhs,
    const Interface& rhs)

Parameters

const Interface& lhs
const Interface& rhs