#include <hps.h>

Public Member Functions | |
ConditionalExpression | AND (ConditionalExpression const &in_operand2) const |
ConditionalExpression () | |
The default constructor creates an empty condition that is always satisfied. | |
ConditionalExpression (char const *in_condition) | |
ConditionalExpression (float in_number) | |
ConditionalExpression (HPS::Condition::Intrinsic in_special) | |
ConditionalExpression (ConditionalExpression const &in_that) | |
ConditionalExpression (ConditionalExpression &&in_that) | |
ConditionalExpression | EQ (ConditionalExpression const &in_operand2) const |
bool | Equals (ConditionalExpression const &in_that) const |
ConditionalExpression | GT (ConditionalExpression const &in_operand2) const |
ConditionalExpression | GTEQ (ConditionalExpression const &in_operand2) const |
bool | IsSatisfiedBy (UTF8Array const &in_conditions) const |
bool | IsSatisfiedBy (char const *in_condition) const |
ConditionalExpression | LT (ConditionalExpression const &in_operand2) const |
ConditionalExpression | LTEQ (ConditionalExpression const &in_operand2) const |
ConditionalExpression | NEQ (ConditionalExpression const &in_operand2) const |
HPS::Type | ObjectType () const |
ConditionalExpression | operator! () const |
bool | operator!= (ConditionalExpression const &in_that) const |
ConditionalExpression | operator&& (ConditionalExpression const &in_operand2) const |
ConditionalExpression & | operator= (ConditionalExpression &&in_that) |
ConditionalExpression & | operator= (ConditionalExpression const &in_that) |
bool | operator== (ConditionalExpression const &in_that) const |
ConditionalExpression | operator^ (ConditionalExpression const &in_operand2) const |
ConditionalExpression | operator|| (ConditionalExpression const &in_operand2) const |
ConditionalExpression | OR (ConditionalExpression const &in_operand2) const |
bool | ShowCondition (UTF8 &out_condition) const |
bool | ShowIntrinsic (Condition::Intrinsic &out_special) const |
bool | ShowNumber (float &out_number) const |
bool | ShowOperands (ConditionalExpressionArray &out_operands) const |
ConditionalExpression | XOR (ConditionalExpression const &in_operand2) const |
![]() | |
virtual bool | Empty () const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
bool | HasType (HPS::Type in_mask) const |
Object (Object const &that) | |
Object (Object &&in_that) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::ConditionalExpression |
![]() | |
static const HPS::Type | staticType = HPS::Type::None |
Detailed Description
A ConditionalExpression is a string or collection of strings separated by logical operators. In practice, conditional expressions form a tree with the leaves being strings (the actual Conditions that must be satisfied) and the interior nodes being logical operators.
Constructor & Destructor Documentation
HPS::ConditionalExpression::ConditionalExpression | ( | char const * | in_condition | ) |
This constructor is the way to construct a ConditionalExpression object from a string.
- Parameters
-
in_condition The string to use as the condition, assumed to be utf8 encoded.
HPS::ConditionalExpression::ConditionalExpression | ( | float | in_number | ) |
This constructor is the way to construct a ConditionalExpression object from a number.
- Parameters
-
in_value The number to use as the condition.
HPS::ConditionalExpression::ConditionalExpression | ( | HPS::Condition::Intrinsic | in_special | ) |
This constructor is the way to construct a ConditionalExpression object from a special intrinsic type.
- Parameters
-
in_special The intrinsic type to use as the condition.
HPS::ConditionalExpression::ConditionalExpression | ( | ConditionalExpression const & | in_that | ) |
The copy constructor copies the source condition.
- Parameters
-
in_that the source to be copied.
HPS::ConditionalExpression::ConditionalExpression | ( | ConditionalExpression && | in_that | ) |
The move constructor creates a ConditionalExpression by transferring the underlying impl of the rvalue reference to this ConditionalExpression thereby avoiding a copy and allocation.
- Parameters
-
in_that An rvalue reference to a ConditionalExpression to take the impl from.
Member Function Documentation
ConditionalExpression HPS::ConditionalExpression::AND | ( | ConditionalExpression const & | in_operand2 | ) | const |
An AND condition is satisfied if both of its operand conditions are satisfied.
- Parameters
-
in_operand2 The condition to AND with this object.
- Returns
- a new condition representing the logical AND of the operand condition with this object.
|
static |
An AND condition is satisfied if both of its operand conditions are satisfied.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new condition representing the logical AND of the operand conditions.
ConditionalExpression HPS::ConditionalExpression::EQ | ( | ConditionalExpression const & | in_operand2 | ) | const |
An EQ conditional expression is satisfied if its operand expressions are equal.
- Parameters
-
in_operand2 The expression to compare to this object.
- Returns
- a new conditional expression representing the equality comparison of the operand expression with this object.
|
static |
An EQ conditional expression is satisfied if its operand expressions are equal.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the equality comparison of the operand expressions.
bool HPS::ConditionalExpression::Equals | ( | ConditionalExpression const & | in_that | ) | const |
Check if the source object is equivalent to this object.
- Parameters
-
in_that The source object to compare to this object.
- Returns
- true if the objects are equivalent, false otherwise.
ConditionalExpression HPS::ConditionalExpression::GT | ( | ConditionalExpression const & | in_operand2 | ) | const |
An GT conditional expression is satisfied if its second operand is greater than the first operand.
- Parameters
-
in_operand2 The expression to compare to this object.
- Returns
- a new conditional expression representing the greater than comparison of the operand expression with this object.
|
static |
An GT conditional expression is satisfied if its second operand is greater than the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the greater than comparison of the operand expressions.
ConditionalExpression HPS::ConditionalExpression::GTEQ | ( | ConditionalExpression const & | in_operand2 | ) | const |
An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.
- Parameters
-
in_operand2 The expression to compare to this object.
- Returns
- a new conditional expression representing the greater than or equal to comparison of the operand expression with this object.
|
static |
An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the greater than or equal to comparison of the operands.
bool HPS::ConditionalExpression::IsSatisfiedBy | ( | UTF8Array const & | in_conditions | ) | const |
Determines if the source ConditionalExpression object is satisfied by the given conditions.
- Parameters
-
in_conditions The conditions to test against the ConditionalExpression object.
- Returns
- true if the ConditionalExpression object is satisfied, false otherwise.
bool HPS::ConditionalExpression::IsSatisfiedBy | ( | char const * | in_condition | ) | const |
Determines if the source ConditionalExpression object is satisfied by the given condition.
- Parameters
-
in_condition The condition to test against the ConditionalExpression object.
- Returns
- true if the ConditionalExpression object is satisfied, false otherwise.
ConditionalExpression HPS::ConditionalExpression::LT | ( | ConditionalExpression const & | in_operand2 | ) | const |
An LT conditional expression is satisfied if its second operand is less than the first operand.
- Parameters
-
in_operand2 The expression to compare to this object.
- Returns
- a new conditional expression representing the less than comparison of the operand expression with this object.
|
static |
An LT conditional expression is satisfied if its second operand is less than the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the less than comparison of the operand expressions.
ConditionalExpression HPS::ConditionalExpression::LTEQ | ( | ConditionalExpression const & | in_operand2 | ) | const |
An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.
- Parameters
-
in_operand2 The expression to compare to this object.
- Returns
- a new conditional expression representing the less than or equal to comparison of the operand expression with this object.
|
static |
An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the less than or equal to comparison of the operand expressions.
ConditionalExpression HPS::ConditionalExpression::NEQ | ( | ConditionalExpression const & | in_operand2 | ) | const |
An NEQ conditional expression is satisfied if its operand expressions are not equal.
- Parameters
-
in_operand2 The expression to compare to this object.
- Returns
- a new conditional expression representing the non-equality comparison of the operand expression with this object.
|
static |
An NEQ conditional expression is satisfied if its operand expressions are not equal.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the non-equality comparison of the operand expressions.
|
static |
A NOT condition is satisfied if its operand condition is not satisfied.
- Parameters
-
in_operand The condition operand.
- Returns
- a new condition representing the logical negation of the operand.
|
inlinevirtual |
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Returns
- The declared type of the object in question, which may differ from the true, underlying type.
Reimplemented from HPS::Object.
ConditionalExpression HPS::ConditionalExpression::operator! | ( | ) | const |
A NOT condition is satisfied if its operand condition is not satisfied.
- Returns
- a new condition representing the logical negation of this object.
bool HPS::ConditionalExpression::operator!= | ( | ConditionalExpression const & | in_that | ) | const |
Check if the source object is equivalent to this object.
- Parameters
-
in_that The source object to compare to this object.
- Returns
- true if the objects are not equivalent, false otherwise.
ConditionalExpression HPS::ConditionalExpression::operator&& | ( | ConditionalExpression const & | in_operand2 | ) | const |
An AND condition is satisfied if both of its operand conditions are satisfied.
- Parameters
-
in_operand2 The condition to AND with this object.
- Returns
- a new condition representing the logical AND of the operand condition with this object.
ConditionalExpression& HPS::ConditionalExpression::operator= | ( | ConditionalExpression && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this ConditionalExpression thereby avoiding a copy.
- Parameters
-
in_that An rvalue reference to a ConditionalExpression to take the impl from.
- Returns
- A reference to this ConditionalExpression.
ConditionalExpression& HPS::ConditionalExpression::operator= | ( | ConditionalExpression const & | in_that | ) |
Copies the source ConditionalExpression object to this object.
- Parameters
-
in_that The source of the copy.
- Returns
- A reference to this object.
bool HPS::ConditionalExpression::operator== | ( | ConditionalExpression const & | in_that | ) | const |
Check if the source object is equivalent to this object.
- Parameters
-
in_that The source object to compare to this object.
- Returns
- true if the objects are equivalent, false otherwise.
ConditionalExpression HPS::ConditionalExpression::operator^ | ( | ConditionalExpression const & | in_operand2 | ) | const |
An XOR condition is satisfied if either operand condition is satisfied, but not both.
- Parameters
-
in_operand2 The condition to XOR with this object.
- Returns
- a new condition representing the logical XOR of the operand condition with this object.
ConditionalExpression HPS::ConditionalExpression::operator|| | ( | ConditionalExpression const & | in_operand2 | ) | const |
An OR condition is satisfied if either of its operand conditions are satisfied.
- Parameters
-
in_operand2 The condition to OR with this object.
- Returns
- a new condition representing the logical OR of the operand condition with this object.
ConditionalExpression HPS::ConditionalExpression::OR | ( | ConditionalExpression const & | in_operand2 | ) | const |
An OR condition is satisfied if either of its operand conditions are satisfied.
- Parameters
-
in_operand2 The condition to OR with this object.
- Returns
- a new condition representing the logical OR of the operand condition with this object.
|
static |
An OR condition is satisfied if either of its operand conditions are satisfied.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new condition representing the logical OR of the operand conditions.
bool HPS::ConditionalExpression::ShowCondition | ( | UTF8 & | out_condition | ) | const |
Shows the condition string that has been set on this object, if any. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.
- Parameters
-
out_condition The condition string.
- Returns
- true if a condition string has been set, false otherwise.
bool HPS::ConditionalExpression::ShowIntrinsic | ( | Condition::Intrinsic & | out_special | ) | const |
Shows the intrinsic type that has been set on this object, if any. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.
- Parameters
-
out_special The intrinsic type.
- Returns
- true if an intrinsic type has been set, false otherwise.
bool HPS::ConditionalExpression::ShowNumber | ( | float & | out_number | ) | const |
Shows the number that has been set on this object, if any. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.
- Parameters
-
out_number The number.
- Returns
- true if a number has been set, false otherwise.
bool HPS::ConditionalExpression::ShowOperands | ( | ConditionalExpressionArray & | out_operands | ) | const |
Retrieves the operands, if any, of this condition object. A ConditionalExpression object can only have either a number, condition string, intrinsic type, or operands.
- Parameters
-
out_operands An array of condition operands.
- Returns
- true if operands are set on this object, false otherwise.
ConditionalExpression HPS::ConditionalExpression::XOR | ( | ConditionalExpression const & | in_operand2 | ) | const |
An XOR condition is satisfied if either operand condition is satisfied, but not both.
- Parameters
-
in_operand2 The condition to XOR with this object.
- Returns
- a new condition representing the logical XOR of the operand condition with this object.
|
static |
An XOR condition is satisfied if either operand condition is satisfied, but not both.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new condition representing the logical XOR of the operand conditions.
Friends And Related Function Documentation
|
friend |
An AND condition is satisfied if both of its operand conditions are satisfied.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new condition representing the logical AND of the operand conditions.
|
friend |
An EQ conditional expression is satisfied if its operand expressions are equal.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the equality comparison of the operand expressions.
|
friend |
An GT conditional expression is satisfied if its second operand is greater than the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the greater than comparison of the operand expressions.
|
friend |
An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the greater than or equal to comparison of the operands.
|
friend |
An LT conditional expression is satisfied if its second operand is less than the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the less than comparison of the operand expressions.
|
friend |
An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the less than or equal to comparison of the operand expressions.
|
friend |
An NEQ conditional expression is satisfied if its operand expressions are not equal.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new conditional expression representing the non-equality comparison of the operand expressions.
|
friend |
A NOT condition is satisfied if its operand condition is not satisfied.
- Parameters
-
in_operand The condition operand.
- Returns
- a new condition representing the logical negation of the operand.
|
friend |
An OR condition is satisfied if either of its operand conditions are satisfied.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new condition representing the logical OR of the operand conditions.
|
friend |
An XOR condition is satisfied if either operand condition is satisfied, but not both.
- Parameters
-
in_operand1 The first condition operand. in_operand2 The second condition operand.
- Returns
- a new condition representing the logical XOR of the operand conditions.
The documentation for this class was generated from the following file:
- include/hps.h