mp_units::constrained

A transparent wrapper that carries an error policy for domain constraint enforcement.

Synopsis

Declared in <mp-units/constrained.h>

template<
    typename T,
    ConstraintPolicy ErrorPolicy = throw_policy>
class constrained;

Description

This wrapper does not check anything itself. It serves as a signal to the mp-units library that domain constraint violations should be reported via the ErrorPolicy rather than through precondition checks.

All arithmetic operations are forwarded to the underlying type T.

Type Aliases

Name
error_policy
value_type

Member Functions

NameDescription
constrained [constructor]Constructors
operator%= Modulus assignment operator
operator*= Multiplication assignment operator
operator++ Increment operators
operator+= Addition assignment operator
operator-- Decrement operators
operator-= Subtraction assignment operator
operator/= Division assignment operator
value
operator T Conversion to T

Data Members

Name
value_

Friends

NameDescription
mp_units::operator-Unary minus operator
mp_units::operator+Unary plus operator

Non-Member Functions

NameDescription
operator%Modulus operator
operator*Multiplication operator
operator*Multiplication operator
operator*Multiplication operator
operator+Addition operator
operator+Addition operator
operator+Addition operator
operator-Subtraction operator
operator-Subtraction operator
operator-Subtraction operator
operator/Division operator
operator/Division operator
operator/Division operator

Template Parameters

NameDescription
Tthe underlying representation type
ErrorPolicypolicy type satisfying ConstraintPolicy (provides static on_constraint_violation(std::string_view))