CGAL 5.1 - Algebraic Foundations
IntegralDomainWithoutDivision Class Reference

#include <Concepts/IntegralDomainWithoutDivision.h>

Definition

This is the most basic concept for algebraic structures considered within CGAL.

A model IntegralDomainWithoutDivision represents an integral domain, i.e. commutative ring with 0, 1, +, * and unity free of zero divisors.

Note: A model is not required to offer the always well defined integral division.

It refines Assignable, CopyConstructible, DefaultConstructible and FromIntConstructible.

It refines EqualityComparable, where equality is defined w.r.t. the ring element being represented.

The operators unary and binary plus +, unary and binary minus -, multiplication * and their compound forms +=, -=, *= are required and implement the respective ring operations.

Moreover, CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision > is a model of AlgebraicStructureTraits providing:

See also
IntegralDomainWithoutDivision
IntegralDomain
UniqueFactorizationDomain
EuclideanRing
Field
FieldWithSqrt
FieldWithKthRoot
FieldWithRootOf
AlgebraicStructureTraits

Operations

IntegralDomainWithoutDivision operator+ (const IntegralDomainWithoutDivision &a)
 unary plus More...
 
IntegralDomainWithoutDivision operator- (const IntegralDomainWithoutDivision &a)
 unary minus More...
 
IntegralDomainWithoutDivision operator+ (const IntegralDomainWithoutDivision &a, const IntegralDomainWithoutDivision &b)
 
IntegralDomainWithoutDivision operator- (const IntegralDomainWithoutDivision &a, const IntegralDomainWithoutDivision &b)
 
IntegralDomainWithoutDivision operator* (const IntegralDomainWithoutDivision &a, const IntegralDomainWithoutDivision &b)
 
IntegralDomainWithoutDivision operator+= (const IntegralDomainWithoutDivision &b)
 
IntegralDomainWithoutDivision operator-= (const IntegralDomainWithoutDivision &b)
 
IntegralDomainWithoutDivision operator*= (const IntegralDomainWithoutDivision &b)
 
result_type operator== (const IntegralDomainWithoutDivision &a, const IntegralDomainWithoutDivision &b)
 The result_type is convertible to bool. More...
 
result_type operator!= (const IntegralDomainWithoutDivision &a, const IntegralDomainWithoutDivision &b)
 The result_type is convertible to bool. More...
 

Member Function Documentation

◆ operator!=()

result_type IntegralDomainWithoutDivision::operator!= ( const IntegralDomainWithoutDivision a,
const IntegralDomainWithoutDivision b 
)

The result_type is convertible to bool.

◆ operator*()

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator* ( const IntegralDomainWithoutDivision a,
const IntegralDomainWithoutDivision b 
)

◆ operator*=()

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator*= ( const IntegralDomainWithoutDivision b)

◆ operator+() [1/2]

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator+ ( const IntegralDomainWithoutDivision a)

unary plus

◆ operator+() [2/2]

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator+ ( const IntegralDomainWithoutDivision a,
const IntegralDomainWithoutDivision b 
)

◆ operator+=()

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator+= ( const IntegralDomainWithoutDivision b)

◆ operator-() [1/2]

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator- ( const IntegralDomainWithoutDivision a)

unary minus

◆ operator-() [2/2]

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator- ( const IntegralDomainWithoutDivision a,
const IntegralDomainWithoutDivision b 
)

◆ operator-=()

IntegralDomainWithoutDivision IntegralDomainWithoutDivision::operator-= ( const IntegralDomainWithoutDivision b)

◆ operator==()

result_type IntegralDomainWithoutDivision::operator== ( const IntegralDomainWithoutDivision a,
const IntegralDomainWithoutDivision b 
)

The result_type is convertible to bool.