ConditionControl

class 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