Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::ConditionalExpression Class Reference

A ConditionalExpression is a string or collection of strings separated by logical operators. More...

#include <hps.h>

Inheritance diagram for HPS::ConditionalExpression:
Collaboration diagram for HPS::ConditionalExpression:

Public Member Functions

 ConditionalExpression ()
 The default constructor creates an empty condition that is always satisfied. More...
 
 ConditionalExpression (char const *in_condition)
 This constructor is the way to construct a ConditionalExpression object from a string. More...
 
 ConditionalExpression (float in_number)
 This constructor is the way to construct a ConditionalExpression object from a number. More...
 
 ConditionalExpression (HPS::Condition::Intrinsic in_special)
 This constructor is the way to construct a ConditionalExpression object from a special intrinsic type. More...
 
 ConditionalExpression (ConditionalExpression const &in_that)
 The copy constructor copies the source condition. More...
 
 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. More...
 
ConditionalExpressionoperator= (ConditionalExpression &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this ConditionalExpression thereby avoiding a copy. More...
 
HPS::Type ObjectType () const
 
bool ShowCondition (UTF8 &out_condition) const
 Shows the condition string that has been set on this object, if any. More...
 
bool ShowNumber (float &out_number) const
 Shows the number that has been set on this object, if any. More...
 
bool ShowIntrinsic (Condition::Intrinsic &out_special) const
 Shows the intrinsic type that has been set on this object, if any. More...
 
bool ShowOperands (ConditionalExpressionArray &out_operands) const
 Retrieves the operands, if any, of this condition object. More...
 
ConditionalExpressionoperator= (ConditionalExpression const &in_that)
 Copies the source ConditionalExpression object to this object. More...
 
bool Equals (ConditionalExpression const &in_that) const
 Check if the source object is equivalent to this object. More...
 
bool operator== (ConditionalExpression const &in_that) const
 Check if the source object is equivalent to this object. More...
 
bool operator!= (ConditionalExpression const &in_that) const
 Check if the source object is equivalent to this object. More...
 
bool IsSatisfiedBy (UTF8Array const &in_conditions) const
 Determines if the source ConditionalExpression object is satisfied by the given conditions. More...
 
bool IsSatisfiedBy (char const *in_condition) const
 Determines if the source ConditionalExpression object is satisfied by the given condition. More...
 
ConditionalExpression OR (ConditionalExpression const &in_operand2) const
 An OR condition is satisfied if either of its operand conditions are satisfied. More...
 
ConditionalExpression XOR (ConditionalExpression const &in_operand2) const
 An XOR condition is satisfied if either operand condition is satisfied, but not both. More...
 
ConditionalExpression AND (ConditionalExpression const &in_operand2) const
 An AND condition is satisfied if both of its operand conditions are satisfied. More...
 
ConditionalExpression EQ (ConditionalExpression const &in_operand2) const
 An EQ conditional expression is satisfied if its operand expressions are equal. More...
 
ConditionalExpression NEQ (ConditionalExpression const &in_operand2) const
 An NEQ conditional expression is satisfied if its operand expressions are not equal. More...
 
ConditionalExpression GT (ConditionalExpression const &in_operand2) const
 An GT conditional expression is satisfied if its second operand is greater than the first operand. More...
 
ConditionalExpression LT (ConditionalExpression const &in_operand2) const
 An LT conditional expression is satisfied if its second operand is less than the first operand. More...
 
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. More...
 
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. More...
 
ConditionalExpression operator! () const
 A NOT condition is satisfied if its operand condition is not satisfied. More...
 
ConditionalExpression operator|| (ConditionalExpression const &in_operand2) const
 An OR condition is satisfied if either of its operand conditions are satisfied. More...
 
ConditionalExpression operator^ (ConditionalExpression const &in_operand2) const
 An XOR condition is satisfied if either operand condition is satisfied, but not both. More...
 
ConditionalExpression operator&& (ConditionalExpression const &in_operand2) const
 An AND condition is satisfied if both of its operand conditions are satisfied. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

static ConditionalExpression NOT (ConditionalExpression const &in_operand)
 A NOT condition is satisfied if its operand condition is not satisfied. More...
 
static ConditionalExpression OR (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)
 An OR condition is satisfied if either of its operand conditions are satisfied. More...
 
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. More...
 
static ConditionalExpression AND (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)
 An AND condition is satisfied if both of its operand conditions are satisfied. More...
 
static ConditionalExpression EQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)
 An EQ conditional expression is satisfied if its operand expressions are equal. More...
 
static ConditionalExpression NEQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)
 An NEQ conditional expression is satisfied if its operand expressions are not equal. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

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

Friends

HPS_API ConditionalExpression NOT (ConditionalExpression const &in_operand)
 A NOT condition is satisfied if its operand condition is not satisfied. More...
 
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. More...
 
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. More...
 
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. More...
 
HPS_API ConditionalExpression EQ (ConditionalExpression const &in_operand1, ConditionalExpression const &in_operand2)
 An EQ conditional expression is satisfied if its operand expressions are equal. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

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

◆ ConditionalExpression() [1/6]

HPS::ConditionalExpression::ConditionalExpression ( )

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

◆ ConditionalExpression() [2/6]

HPS::ConditionalExpression::ConditionalExpression ( char const *  in_condition)

This constructor is the way to construct a ConditionalExpression object from a string.

Parameters
in_conditionThe string to use as the condition, assumed to be utf8 encoded.

◆ ConditionalExpression() [3/6]

HPS::ConditionalExpression::ConditionalExpression ( float  in_number)

This constructor is the way to construct a ConditionalExpression object from a number.

Parameters
in_valueThe number to use as the condition.

◆ ConditionalExpression() [4/6]

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_specialThe intrinsic type to use as the condition.

◆ ConditionalExpression() [5/6]

HPS::ConditionalExpression::ConditionalExpression ( ConditionalExpression const &  in_that)

The copy constructor copies the source condition.

Parameters
in_thatthe source to be copied.

◆ ConditionalExpression() [6/6]

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_thatAn rvalue reference to a ConditionalExpression to take the impl from.

Member Function Documentation

◆ AND() [1/2]

ConditionalExpression HPS::ConditionalExpression::AND ( ConditionalExpression const &  in_operand2) const

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

Parameters
in_operand2The condition to AND with this object.
Returns
a new condition representing the logical AND of the operand condition with this object.

◆ AND() [2/2]

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

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

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new condition representing the logical AND of the operand conditions.

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ EQ() [1/2]

ConditionalExpression HPS::ConditionalExpression::EQ ( ConditionalExpression const &  in_operand2) const

An EQ conditional expression is satisfied if its operand expressions are equal.

Parameters
in_operand2The expression to compare to this object.
Returns
a new conditional expression representing the equality comparison of the operand expression with this object.

◆ EQ() [2/2]

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

An EQ conditional expression is satisfied if its operand expressions are equal.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the equality comparison of the operand expressions.

◆ Equals()

bool HPS::ConditionalExpression::Equals ( ConditionalExpression const &  in_that) const

Check if the source object is equivalent to this object.

Parameters
in_thatThe source object to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ GT() [1/2]

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_operand2The expression to compare to this object.
Returns
a new conditional expression representing the greater than comparison of the operand expression with this object.

◆ GT() [2/2]

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

An GT conditional expression is satisfied if its second operand is greater than the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the greater than comparison of the operand expressions.

◆ GTEQ() [1/2]

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

◆ GTEQ() [2/2]

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

An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the greater than or equal to comparison of the operands.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ IsSatisfiedBy() [1/2]

bool HPS::ConditionalExpression::IsSatisfiedBy ( UTF8Array const &  in_conditions) const

Determines if the source ConditionalExpression object is satisfied by the given conditions.

Parameters
in_conditionsThe conditions to test against the ConditionalExpression object.
Returns
true if the ConditionalExpression object is satisfied, false otherwise.

◆ IsSatisfiedBy() [2/2]

bool HPS::ConditionalExpression::IsSatisfiedBy ( char const *  in_condition) const

Determines if the source ConditionalExpression object is satisfied by the given condition.

Parameters
in_conditionThe condition to test against the ConditionalExpression object.
Returns
true if the ConditionalExpression object is satisfied, false otherwise.

◆ LT() [1/2]

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_operand2The expression to compare to this object.
Returns
a new conditional expression representing the less than comparison of the operand expression with this object.

◆ LT() [2/2]

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

An LT conditional expression is satisfied if its second operand is less than the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the less than comparison of the operand expressions.

◆ LTEQ() [1/2]

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

◆ LTEQ() [2/2]

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

An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the less than or equal to comparison of the operand expressions.

◆ NEQ() [1/2]

ConditionalExpression HPS::ConditionalExpression::NEQ ( ConditionalExpression const &  in_operand2) const

An NEQ conditional expression is satisfied if its operand expressions are not equal.

Parameters
in_operand2The expression to compare to this object.
Returns
a new conditional expression representing the non-equality comparison of the operand expression with this object.

◆ NEQ() [2/2]

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

An NEQ conditional expression is satisfied if its operand expressions are not equal.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the non-equality comparison of the operand expressions.

◆ NOT()

static ConditionalExpression HPS::ConditionalExpression::NOT ( ConditionalExpression const &  in_operand)
static

A NOT condition is satisfied if its operand condition is not satisfied.

Parameters
in_operandThe condition operand.
Returns
a new condition representing the logical negation of the operand.

◆ ObjectType()

HPS::Type HPS::ConditionalExpression::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!()

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.

◆ operator!=()

Check if the source object is equivalent to this object.

Parameters
in_thatThe source object to compare to this object.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator&&()

ConditionalExpression HPS::ConditionalExpression::operator && ( ConditionalExpression const &  in_operand2) const

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

Parameters
in_operand2The condition to AND with this object.
Returns
a new condition representing the logical AND of the operand condition with this object.

◆ operator=() [1/2]

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_thatAn rvalue reference to a ConditionalExpression to take the impl from.
Returns
A reference to this ConditionalExpression.

◆ operator=() [2/2]

ConditionalExpression& HPS::ConditionalExpression::operator= ( ConditionalExpression const &  in_that)

Copies the source ConditionalExpression object to this object.

Parameters
in_thatThe source of the copy.
Returns
A reference to this object.

◆ operator==()

bool HPS::ConditionalExpression::operator== ( ConditionalExpression const &  in_that) const

Check if the source object is equivalent to this object.

Parameters
in_thatThe source object to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ operator^()

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_operand2The condition to XOR with this object.
Returns
a new condition representing the logical XOR of the operand condition with this object.

◆ operator||()

ConditionalExpression HPS::ConditionalExpression::operator|| ( ConditionalExpression const &  in_operand2) const

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

Parameters
in_operand2The condition to OR with this object.
Returns
a new condition representing the logical OR of the operand condition with this object.

◆ OR() [1/2]

ConditionalExpression HPS::ConditionalExpression::OR ( ConditionalExpression const &  in_operand2) const

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

Parameters
in_operand2The condition to OR with this object.
Returns
a new condition representing the logical OR of the operand condition with this object.

◆ OR() [2/2]

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

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

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new condition representing the logical OR of the operand conditions.

◆ Reset()

◆ ShowCondition()

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_conditionThe condition string.
Returns
true if a condition string has been set, false otherwise.

◆ ShowIntrinsic()

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_specialThe intrinsic type.
Returns
true if an intrinsic type has been set, false otherwise.

◆ ShowNumber()

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_numberThe number.
Returns
true if a number has been set, false otherwise.

◆ ShowOperands()

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_operandsAn array of condition operands.
Returns
true if operands are set on this object, false otherwise.

◆ Type()

◆ XOR() [1/2]

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_operand2The condition to XOR with this object.
Returns
a new condition representing the logical XOR of the operand condition with this object.

◆ XOR() [2/2]

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

An XOR condition is satisfied if either operand condition is satisfied, but not both.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new condition representing the logical XOR of the operand conditions.

Friends And Related Function Documentation

◆ AND

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

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

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new condition representing the logical AND of the operand conditions.

◆ EQ

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

An EQ conditional expression is satisfied if its operand expressions are equal.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the equality comparison of the operand expressions.

◆ GT

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

An GT conditional expression is satisfied if its second operand is greater than the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the greater than comparison of the operand expressions.

◆ GTEQ

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

An GTEQ conditional expression is satisfied if its second operand is greater than or equal to the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the greater than or equal to comparison of the operands.

◆ LT

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

An LT conditional expression is satisfied if its second operand is less than the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the less than comparison of the operand expressions.

◆ LTEQ

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

An LTEQ conditional expression is satisfied if its second operand is less than or equal to the first operand.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the less than or equal to comparison of the operand expressions.

◆ NEQ

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

An NEQ conditional expression is satisfied if its operand expressions are not equal.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new conditional expression representing the non-equality comparison of the operand expressions.

◆ NOT

HPS_API ConditionalExpression NOT ( ConditionalExpression const &  in_operand)
friend

A NOT condition is satisfied if its operand condition is not satisfied.

Parameters
in_operandThe condition operand.
Returns
a new condition representing the logical negation of the operand.

◆ OR

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

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

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new condition representing the logical OR of the operand conditions.

◆ XOR

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

An XOR condition is satisfied if either operand condition is satisfied, but not both.

Parameters
in_operand1The first condition operand.
in_operand2The second condition operand.
Returns
a new condition representing the logical XOR of the operand conditions.

Member Data Documentation

◆ staticType

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

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