R2::basic_position_qty

namespace nin::R2 {
    template <std::floating_point T>
    struct basic_position_qty;
}

A 2D position quantity with length-dimensioned components. The two public fields x and y are units::length_v<T> quantities.

basic_position_qty satisfies the container interface: it is iterable, indexable, and reports a fixed size() of 2.

Data members

Member Type

x

units::length_v<T>

y

units::length_v<T>

Nested types

Type Definition

arithmetic_type

T

unit_type

units::length_v<T>

value_type

unit_type

reference

unit_type&

const_reference

unit_type const&

size_type

std::size_t

difference_type

std::ptrdiff_t

iterator

forward iterator over components

const_iterator

const forward iterator over components

Member functions

(Constructor)

constructs a 2D position

basic_position_qty(unit_type x = {}, unit_type y = {})

(1)

Default-constructs both components to zero length.

operator[]

indexed access to components

reference operator[](size_type i)

(1)

const_reference operator[](size_type i) const

(2)

Index 0 returns x, index 1 returns y.

begin, end, cbegin, cend

iterators

iterator begin()

(1)

const_iterator begin() const

(2)

const_iterator cbegin() const

(3)

iterator end()

(4)

const_iterator end() const

(5)

const_iterator cend() const

(6)

Forward iterators over the two components.

size, max_size, empty

container capacity

static size_type size()

(1)

static size_type max_size()

(2)

static bool empty()

(3)

  • (1)-(2) Returns 2.

  • (3) Returns false.

operator==

equality comparison

bool operator==(basic_position_qty const&, basic_position_qty const&)

(1)

Defaulted member-wise comparison.