ConditionControl
-
class HPS::ConditionControl : public HPS::Control
The ConditionControl class is a smart pointer that is tied to a database object. This class is used to set and unset conditions on a segment. A condition can be used to control when a style is applied, or to control when an included segment is included.
Public Functions
-
ConditionControl &AddCondition(char const *in_condition)
Adds a condition to the collection of active conditions on this segment.
- Parameters
in_condition – the condition to enable.
- Returns
a reference to this object.
-
ConditionControl(ConditionControl &&in_that)
The move constructor creates a ConditionControl by transferring the underlying impl of the rvalue reference to this ConditionControl thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to a ConditionControl to take the impl from.
-
ConditionControl(ConditionControl const &in_that)
Initializes a control tied to the same object as in_that.
-
explicit ConditionControl(SegmentKey &in_seg)
Initializes a control tied to the segment in_seg.
-
size_t GetCount() const
Retrieves the number of conditions set on this segment.
- Returns
The number of conditions set on this segment.
-
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.
-
ConditionControl &operator=(ConditionControl &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this ConditionControl thereby avoiding a copy.
- Parameters
in_that – An rvalue reference to a ConditionControl to take the impl from.
- Returns
A reference to this ConditionControl.
-
ConditionControl &operator=(ConditionControl const &in_that)
Share the underlying smart-pointer of the ConditionControl source.
- Parameters
in_that – The ConditionControl source of the assignment.
- Returns
A reference to this ConditionControl.
-
ConditionControl &SetCondition(char const *in_condition)
Sets a condition as the only active condition on this segment, replacing any existing conditions.
- Parameters
in_condition – the condition to enable.
- Returns
a reference to this object.
-
ConditionControl &SetConditions(size_t in_count, UTF8 const in_conditions[])
Sets a collection of conditions as the only active conditions on this segment, replacing any existing conditions.
- Parameters
in_count – the number of conditions in the array.
in_conditions – An array of conditions to enable.
- Returns
a reference to this object.
-
ConditionControl &SetConditions(UTF8Array const &in_conditions)
Sets a collection of conditions as the only active conditions on this segment, replacing any existing conditions.
- Parameters
in_conditions – An array of conditions to enable.
- Returns
a reference to this object.
-
bool ShowCondition(char const *in_condition) const
Queries the existence of one condition on this segment.
- Parameters
in_condition – The condition in question.
- Returns
true if the setting is valid, false otherwise.
-
bool ShowConditions(UTF8Array &out_conditions) const
Shows all conditions on this segment.
- Parameters
out_conditions – An array of conditions that are active on the segment.
- Returns
true if any conditions are set, false otherwise.
-
ConditionControl &UnsetCondition(char const *in_condition)
Removes a specified condition from the active conditions on this segment.
- Parameters
in_condition – The condition to remove.
- Returns
a reference to this object.
-
ConditionControl &UnsetEverything()
Unsets all conditions on this segment.
- Returns
a reference to this object.
-
~ConditionControl()
Releases a reference to the database object this control is tied to.
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::ConditionControl
-
ConditionControl &AddCondition(char const *in_condition)