mp_units::quantity_character

Quantity character

Synopsis

Declared in <mp-units/framework/quantity_character.h>

struct quantity_character;

Description

A quantity character classifies a quantity along two orthogonal axes:

  • its tensor order (quantity_tensor_order): scalar (order 0), vector (order 1), or tensor (order 2), and

  • its numeric field (quantity_field): real or complex.

Scalars, vectors, and tensors are mathematical objects independent of the choice of a coordinate system, whereas their components depend on it. A scalar has magnitude but no direction; a vector possesses both magnitude and direction; a tensor (for example the Cauchy stress tensor) additionally carries orientation. The numeric field separately distinguishes real quantities from complex ones (such as a voltage phasor or a complex permittivity), which affects the operations a quantity admits.

The pre-2.6.0 flat spelling (quantity_character::real_scalar, ::complex_scalar, ::vector, ::tensor) remains available for backward compatibility and maps onto the two axes.

Member Functions

NameDescription
quantity_character [constructor]Constructors

Data Members

Name
field
order

Friends

NameDescription
mp_units::operator==
mp_units::operator<=>Three-way comparison operator