# ConditionalExpression

class ConditionalExpression : public HPS::Object

  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.

  Public Functions

  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.

  ConditionalExpression()

    The default constructor creates an empty condition that is always satisfied.

  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.

  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.

  ConditionalExpression(ConditionalExpression const &in_that)

    The copy constructor copies the source condition.

    Parameters:

      in_that – the source to be copied.

  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.

  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.

  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.

  bool 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 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.

  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.

  bool 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.

  bool 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.

  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.

  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.

  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.

  inline virtual HPS::Type ObjectType() const

    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.

  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 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 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 &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 &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 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 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 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 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.

  bool 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 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 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 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 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.

  Public Static Functions

  static ConditionalExpression AND(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression AND(ConditionalExpressionArray const &in_operands)

    An AND condition is satisfied if all of its operand conditions are satisfied.

    Parameters:

      in_operands – The condition operands.

    Returns:

      a new condition representing the logical AND of the operand conditions.

  static ConditionalExpression EQ(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression GT(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression GTEQ(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression LT(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression LTEQ(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression NEQ(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 ConditionalExpression NOT(ConditionalExpression const &in_operand)

    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.

  static ConditionalExpression OR(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  static ConditionalExpression OR(ConditionalExpressionArray const &in_operands)

    An OR condition is satisfied if any of its operand conditions are satisfied.

    Parameters:

      in_operands – The condition operands.

    Returns:

      a new condition representing the logical OR of the operand conditions.

  static ConditionalExpression XOR(ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

  Public Static Attributes

  static const HPS::Type staticType = HPS::Type::ConditionalExpression

  Friends

  friend HPS_API ConditionalExpression AND (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression EQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression GT (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression GTEQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression LT (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression LTEQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression NEQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression NOT (ConditionalExpression const &in_operand)

    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 HPS_API ConditionalExpression OR (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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 HPS_API ConditionalExpression XOR (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)

    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.

Hello I'm HOOPSY!

HOOPSY BETA

Hello I am HOOPSY! your Docs generative AI assistant.

Ask me anything about HOOPS Visualize HPS or choose a sample question below to start a conversation:

Additional info

HOOPSY may store chats to provide and maintain the service according to OpenAI's data policy.

This feature is currently experimental. While we are continually enhancing its performance and quality, the underlying AI model may generate inaccurate or fabricated responses, especially if prompted to do so.

New Conversation
Continue generating