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