|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
A commutative ring in which every non-zero multiplicative element is also invertible. More...


Static Public Attributes | |
| template<typename Op> | |
| static constexpr bool | is_invertible_v |
| Static Public Attributes inherited from CommutativeRingRegistration< T, Zero, One, Add, Mult > | |
| template<typename Op> | |
| static constexpr bool | is_commutative_v |
| Static Public Attributes inherited from RingRegistration< T, Zero, One, Add, Mult > | |
| template<typename Op> | |
| static constexpr bool | is_invertible_v = std::same_as<Op, Add> |
| Static Public Attributes inherited from RigRegistration< T, Zero, One, Add, Mult > | |
| template<typename Op> | |
| static constexpr bool | is_associative_v |
| template<typename Op> | |
| static constexpr bool | is_commutative_v = std::same_as<Op, Add> |
| template<typename Op> | |
| static constexpr bool | is_periodic_v |
| template<typename Op> | |
| static constexpr T | unit_v = std::same_as<Op, Add> ? T(Zero) : T(One) |
| template<typename MultOp, typename AddOp> | |
| static constexpr bool | is_distributive_v |
Additional Inherited Members | |
| Public Types inherited from RigRegistration< T, Zero, One, Add, Mult > | |
| using | Domain = T |
| using | dedekind_registration_tag = void |
A commutative ring in which every non-zero multiplicative element is also invertible.
Since concepts cannot quantify over values, the multiplicative-invertibility member template returns true for the declared Mult operation; zero is excluded by convention (same pattern as the rest of the library).
|
staticconstexpr |