IncludeKey

class IncludeKey : public HPS::Key

The IncludeKey class is a smart pointer to a database object. It is a handle to an include key created by SegmentKey::IncludeSegment.

Public Functions

SegmentKey GetTarget() const

Gets the target, i.e., the segment to be included, for this IncludeKey.

Returns:

The target, i.e., the segment to be included, for this IncludeKey.

IncludeKey()

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

IncludeKey(IncludeKey &&in_that)

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

Parameters:

in_that – An rvalue reference to an IncludeKey to take the impl from.

IncludeKey(IncludeKey const &in_that)

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

Parameters:

in_that – The source IncludeKey to copy.

explicit IncludeKey(Key const &in_that)

This constructor creates an IncludeKey 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 an include key. Otherwise the copy will fail and the resulting IncludeKey will be invalid.

Parameters:

in_that – The source Key to copy.

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.

IncludeKey &operator=(IncludeKey &&in_that)

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

Parameters:

in_that – An rvalue reference to an IncludeKey to take the impl from.

Returns:

A reference to this IncludeKey.

IncludeKey &operator=(IncludeKey const &in_that)

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

Parameters:

in_that – The source IncludeKey for the assignment.

Returns:

A reference to this IncludeKey.

IncludeKey &SetConditionalExpression(ConditionalExpression const &in_conditional)

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

Parameters:

in_conditional – The conditional expression for this IncludeKey.

Returns:

A reference to this IncludeKey.

IncludeKey &SetFilter(AttributeLock::Type in_type)

Sets an attribute filter on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters:

in_type – The attribute filter to set for this IncludeKey.

Returns:

A reference to this IncludeKey.

IncludeKey &SetFilter(AttributeLockTypeArray const &in_types)

Sets an array of attribute filters on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters:

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

Returns:

A reference to this IncludeKey.

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

Sets an array of attribute filters on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

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

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

Returns:

A reference to this IncludeKey.

IncludeKey &SetPriority(int in_priority)

Assigns a specific drawing priority value of an include. It affects the order in which the include is visited, if and only if the rendering algorithm is set to Priority.

Parameters:

in_priority – The drawing priority, higher priority items are visited before lower priority items.

Returns:

A reference to this object.

bool ShowConditionalExpression(ConditionalExpression &out_conditional) const

Shows the conditional expression for this IncludeKey.

Parameters:

out_conditional – The conditional expression for this IncludeKey.

Returns:

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

bool ShowFilter(AttributeLockTypeArray &out_types) const

Shows an array of the current attribute filters on this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters:

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

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 IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters:

in_type – The attribute filter to test on this IncludeKey.

Returns:

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

bool ShowPriority(int &out_priority) const

Shows the drawing priority.

Parameters:

out_priority – The drawing priority, higher priority items are drawn on top of lower priority items.

Returns:

true if the setting is valid, false otherwise.

IncludeKey &UnsetConditionalExpression()

Removes the conditional expression on this IncludeKey. This will turn a conditional include into an unconditional include.

Returns:

A reference to this IncludeKey.

IncludeKey &UnsetFilter(AttributeLock::Type in_type)

Removes an attribute filter from this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters:

in_type – The attribute filter to remove from this IncludeKey.

Returns:

A reference to this IncludeKey.

IncludeKey &UnsetFilter(AttributeLockTypeArray const &in_types)

Removes an array of attribute filters from this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

Parameters:

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

Returns:

A reference to this IncludeKey.

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

Removes an array of attribute filters from this IncludeKey. Attribute filters block the specified attributes set in the tree rooted at the target segment from taking effect for this IncludeKey.

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

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

Returns:

A reference to this IncludeKey.

IncludeKey &UnsetPriority()

Removes a drawing priority setting.

Returns:

A reference to this object.

~IncludeKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::IncludeKey