Is a trait class that provides uniform interface to assess whether a type implements an abstract algebra structure, such as Rng, ring, field, etc. More...
#include <chsvmath.h>
Is a trait class that provides uniform interface to assess whether a type implements an abstract algebra structure, such as Rng, ring, field, etc.
For an algebraic type T
, the nested type
defines an algebraic category of T
by aliasing one of the algebraic category tags.
The class algebraic_traits
is SFINAE friendly, i.e. if T
is not an algebraic type, the instance algebraic_traits<T>
does not define any nested types.
This template type alias makes it possible to implement algorithms only in terms of that algebraic structures. See algebraic traits tags for the details upon this mechanism.