StyleKey

class HPS::StyleKey : public HPS::Key

The StyleKey class is a smart pointer to a database object. It is a handle to a style key created by StyleControl::PushSegment.

Public Functions

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.

StyleKey &operator=(StyleKey &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this StyleKey thereby avoiding a copy.

Parameters

in_that – An rvalue reference to a StyleKey to take the impl from.

Returns

A reference to this StyleKey.

StyleKey &operator=(StyleKey const &other)

Associate this StyleKey with the same underlying impl as the source StyleKey.

Parameters

in_that – The source StyleKey for the assignment.

Returns

A reference to this StyleKey.

StyleKey &SetConditionalExpression(ConditionalExpression const &in_conditional)

Sets a conditional expression on this StyleKey. This will either make an unconditional style into a conditional style, or modify the condition for an existing conditional style. The target segment referenced by this style will only be styled in if a condition satisfying the given conditional expression is set above this style in the tree.

See

SegmentKey::SetCondition

See

ConditionControl::SetCondition

See

ConditionControl::AddCondition

Parameters

in_conditional – The conditional expression for this StyleKey.

Returns

A reference to this StyleKey.

StyleKey &SetFilter(AttributeLock::Type in_type)

Sets an attribute filter on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::UnsetFilter

See

StyleKey::ShowFilter

Parameters

in_type – The attribute filter to set for this StyleKey.

Returns

A reference to this StyleKey.

StyleKey &SetFilter(AttributeLockTypeArray const &in_types)

Sets an array of attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::UnsetFilter

See

StyleKey::ShowFilter

Parameters

in_types – The array of attribute filters to set for this StyleKey.

Returns

A reference to this StyleKey.

StyleKey &SetFilter(size_t in_count, AttributeLock::Type const in_types[])

Sets an array of attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::UnsetFilter

See

StyleKey::ShowFilter

Parameters
  • in_count – The size of the attribute filter array.

  • in_types – The array of attribute filters to set for this StyleKey.

Returns

A reference to this StyleKey.

bool ShowConditionalExpression(ConditionalExpression &out_conditional) const

Shows the conditional expression for this StyleKey.

Parameters

out_conditional – The conditional expression for this StyleKey.

Returns

true if a conditional expression is set on this StyleKey, false otherwise.

bool ShowFilter(AttributeLockTypeArray &out_types) const

Shows an array of the current attribute filters on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::SetFilter

See

StyleKey::UnsetFilter

Parameters

out_types – The array of attribute filters currently set on this StyleKey.

Returns

true if there are attribute filters, false otherwise.

bool ShowFilter(HPS::AttributeLock::Type in_type) const

Tests if a specific attribute filter is set on this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::SetFilter

See

StyleKey::UnsetFilter

Parameters

in_type – The attribute filter to test on this StyleKey.

Returns

true if the specified atribute filter is active on this StyleKey, false otherwise.

bool ShowSource(Style::Type &out_type, SegmentKey &out_segment, UTF8 &out_name) const

Shows the source for this StyleKey.

Parameters
  • out_type – The type of source for this StyleKey. This field indicates which of the following arguments are valid.

  • out_segment – The segment source for this StyleKey. This is only valid if out_type is Style::Type::Segment.

  • out_name – The name source for this StyleKey. This is only valid if out_type is Style::Type::Named.

Returns

true if there is a source for this StyleKey, false otherwise.

StyleKey()

The default constructor creates an uninitialized StyleKey object. The Type() function will return Type::None.

explicit StyleKey(Key const &in_that)

This constructor creates an StyleKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a style key. Otherwise the copy will fail and the resulting StyleKey will be invalid.

Parameters

in_key – The source Key to copy.

StyleKey(StyleKey &&in_that)

The move constructor creates a StyleKey by transferring the underlying impl of the rvalue reference to this StyleKey thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to a StyleKey to take the impl from.

StyleKey(StyleKey const &in_that)

The copy constructor creates a StyleKey object that shares the underlying smart-pointer of the source StyleKey.

Parameters

in_that – The source StyleKey to copy.

StyleKey &UnsetConditionalExpression()

Removes the conditional expression on this StyleKey. This will turn a conditional style into an unconditional style.

Returns

A reference to this StyleKey.

StyleKey &UnsetFilter(AttributeLock::Type in_type)

Removes an attribute filter from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::SetFilter

See

StyleKey::ShowFilter

Parameters

in_type – The attribute filter to remove from this StyleKey.

Returns

A reference to this StyleKey.

StyleKey &UnsetFilter(AttributeLockTypeArray const &in_types)

Removes an array of attribute filters from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::SetFilter

See

StyleKey::ShowFilter

Parameters

in_types – The array of attribute filters to remove from this StyleKey.

Returns

A reference to this StyleKey.

StyleKey &UnsetFilter(size_t in_count, AttributeLock::Type const in_types[])

Removes an array of attribute filters from this StyleKey. Attribute filters block the specified attributes set on the source style segment from taking effect for this StyleKey.

See

StyleKey::SetFilter

See

StyleKey::ShowFilter

Parameters
  • in_count – The size of the attribute filter array.

  • in_types – The array of attribute filters to remove from this StyleKey.

Returns

A reference to this StyleKey.

~StyleKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::StyleKey