CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::Constraint::Constraint Class Referencefinal

An equation or inequality involving one or more variables. More...

#include <CeresEngine/Foundation/Constraint/Constraint.hpp>

Classes

class  Data
 

Public Member Functions

 Constraint ()=default
 
 Constraint (const ConstraintExpression &expr, const ConstraintRelationalOperator op, const ConstraintStrength &strength=ConstraintStrength::required)
 
 Constraint (const Constraint &other, const ConstraintStrength &strength)
 
 Constraint (const Constraint &)=default
 
Constraintoperator= (const Constraint &)=default
 
 Constraint (Constraint &&) noexcept=default
 
Constraintoperator= (Constraint &&) noexcept=default
 
 ~Constraint ()=default
 
const ConstraintExpressiongetExpression () const
 
ConstraintRelationalOperator getOperator () const
 
const ConstraintStrengthgetStrength () const
 
bool isViolated () const
 
bool isSatisfied () const noexcept
 
bool operator! () const
 
String toString () const
 Gets a string representation of the constraint.
 

Static Private Member Functions

static ConstraintExpression reduce (const ConstraintExpression &expr)
 

Private Attributes

RC< DatamData
 

Friends

std::ostream & operator<< (std::ostream &stream, const Constraint &constraint)
 Writes the constraint to the given stream.
 
bool operator< (const Constraint &lhs, const Constraint &rhs)
 
bool operator== (const Constraint &lhs, const Constraint &rhs)
 
bool operator!= (const Constraint &lhs, const Constraint &rhs)
 

Detailed Description

An equation or inequality involving one or more variables.

Constraints can be defined as "normal" C++ expressions:

Variable x("x"), y("y");
Constraint a(x + 4 <= y * 2);
Constraint b(x * 2 == y * 3);
An equation or inequality involving one or more variables.
Definition Constraint.hpp:38
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25

Constructor & Destructor Documentation

◆ Constraint() [1/5]

CeresEngine::Constraint::Constraint::Constraint ( )
default

◆ Constraint() [2/5]

CeresEngine::Constraint::Constraint::Constraint ( const ConstraintExpression expr,
const ConstraintRelationalOperator  op,
const ConstraintStrength strength = ConstraintStrength::required 
)
inline

◆ Constraint() [3/5]

CeresEngine::Constraint::Constraint::Constraint ( const Constraint other,
const ConstraintStrength strength 
)
inline

◆ Constraint() [4/5]

CeresEngine::Constraint::Constraint::Constraint ( const Constraint )
default

◆ Constraint() [5/5]

CeresEngine::Constraint::Constraint::Constraint ( Constraint &&  )
defaultnoexcept

◆ ~Constraint()

CeresEngine::Constraint::Constraint::~Constraint ( )
default

Member Function Documentation

◆ getExpression()

const ConstraintExpression & CeresEngine::Constraint::Constraint::getExpression ( ) const
inline

◆ getOperator()

ConstraintRelationalOperator CeresEngine::Constraint::Constraint::getOperator ( ) const
inline

◆ getStrength()

const ConstraintStrength & CeresEngine::Constraint::Constraint::getStrength ( ) const
inline

◆ isSatisfied()

bool CeresEngine::Constraint::Constraint::isSatisfied ( ) const
inlinenoexcept

◆ isViolated()

bool CeresEngine::Constraint::Constraint::isViolated ( ) const

◆ operator!()

bool CeresEngine::Constraint::Constraint::operator! ( ) const
inline

◆ operator=() [1/2]

Constraint & CeresEngine::Constraint::Constraint::operator= ( const Constraint )
default

◆ operator=() [2/2]

Constraint & CeresEngine::Constraint::Constraint::operator= ( Constraint &&  )
defaultnoexcept

◆ reduce()

static ConstraintExpression CeresEngine::Constraint::Constraint::reduce ( const ConstraintExpression expr)
staticprivate

◆ toString()

String CeresEngine::Constraint::Constraint::toString ( ) const

Gets a string representation of the constraint.

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const Constraint lhs,
const Constraint rhs 
)
friend

◆ operator<

bool operator< ( const Constraint lhs,
const Constraint rhs 
)
friend

◆ operator<<

std::ostream & operator<< ( std::ostream &  stream,
const Constraint constraint 
)
friend

Writes the constraint to the given stream.

◆ operator==

bool operator== ( const Constraint lhs,
const Constraint rhs 
)
friend

Member Data Documentation

◆ mData

RC<Data> CeresEngine::Constraint::Constraint::mData
private

The documentation for this class was generated from the following file: