#include <hps.h>

Inheritance diagram for HPS::IncludeKey:
HPS::Key HPS::Object

Public Member Functions

SegmentKey GetTarget () const
 
 IncludeKey ()
 
 IncludeKey (Key const &in_that)
 
 IncludeKey (IncludeKey const &in_that)
 
 IncludeKey (IncludeKey &&in_that)
 
HPS::Type ObjectType () const
 
IncludeKeyoperator= (IncludeKey const &in_that)
 
IncludeKeyoperator= (IncludeKey &&in_that)
 
IncludeKeySetConditionalExpression (ConditionalExpression const &in_conditional)
 
IncludeKeySetFilter (AttributeLock::Type in_type)
 
IncludeKeySetFilter (size_t in_count, AttributeLock::Type const in_types[])
 
IncludeKeySetFilter (AttributeLockTypeArray const &in_types)
 
IncludeKeySetPriority (int in_priority)
 
bool ShowConditionalExpression (ConditionalExpression &out_conditional) const
 
bool ShowFilter (AttributeLockTypeArray &out_types) const
 
bool ShowFilter (HPS::AttributeLock::Type in_type) const
 
bool ShowPriority (int &out_priority) const
 
IncludeKeyUnsetConditionalExpression ()
 
IncludeKeyUnsetFilter (AttributeLock::Type in_type)
 
IncludeKeyUnsetFilter (size_t in_count, AttributeLock::Type const in_types[])
 
IncludeKeyUnsetFilter (AttributeLockTypeArray const &in_types)
 
IncludeKeyUnsetPriority ()
 
- Public Member Functions inherited from HPS::Key
virtual void Assign (Key const &in_that)
 
Key CopyTo (SegmentKey const &in_destination) const
 
void Delete ()
 
bool Equals (Key const &in_that) const
 
size_t GetHash () const
 
bool HasOwner () const
 
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
void MoveTo (SegmentKey const &in_new_owner)
 
bool operator!= (Key const &in_that) const
 
Keyoperator= (Key &&in_that)
 
Keyoperator= (Key const &in_that)
 
bool operator== (Key const &in_that) const
 
SegmentKey Owner () const
 
SegmentKey Up () const
 
virtual ~Key ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::IncludeKey
 
- Static Public Attributes inherited from HPS::Key
static const HPS::Type staticType = HPS::Type::Key
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ IncludeKey() [1/4]

HPS::IncludeKey::IncludeKey ( )

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

◆ IncludeKey() [2/4]

HPS::IncludeKey::IncludeKey ( Key const &  in_that)
explicit

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_thatThe source Key to copy.

◆ IncludeKey() [3/4]

HPS::IncludeKey::IncludeKey ( IncludeKey const &  in_that)

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

Parameters
in_thatThe source IncludeKey to copy.

◆ IncludeKey() [4/4]

HPS::IncludeKey::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_thatAn rvalue reference to an IncludeKey to take the impl from.

Member Function Documentation

◆ GetTarget()

SegmentKey HPS::IncludeKey::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.

◆ ObjectType()

HPS::Type HPS::IncludeKey::ObjectType ( ) const
inlinevirtual

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.

Reimplemented from HPS::Key.

◆ operator=() [1/2]

IncludeKey& HPS::IncludeKey::operator= ( IncludeKey const &  in_that)

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

Parameters
in_thatThe source IncludeKey for the assignment.
Returns
A reference to this IncludeKey.

◆ operator=() [2/2]

IncludeKey& HPS::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_thatAn rvalue reference to an IncludeKey to take the impl from.
Returns
A reference to this IncludeKey.

◆ SetConditionalExpression()

IncludeKey& HPS::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_conditionalThe conditional expression for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
SegmentKey::SetCondition
ConditionControl::SetCondition
ConditionControl::AddCondition

◆ SetFilter() [1/3]

IncludeKey& HPS::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_typeThe attribute filter to set for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::UnsetFilter
IncludeKey::ShowFilter

◆ SetFilter() [2/3]

IncludeKey& HPS::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_countThe size of the attribute filter array.
in_typesThe array of attribute filters to set for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::UnsetFilter
IncludeKey::ShowFilter

◆ SetFilter() [3/3]

IncludeKey& HPS::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_typesThe array of attribute filters to set for this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::UnsetFilter
IncludeKey::ShowFilter

◆ SetPriority()

IncludeKey& HPS::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_priorityThe drawing priority, higher priority items are visited before lower priority items.
Returns
A reference to this object.
See also
SubwindowKit::SetRenderingAlgorithm()

◆ ShowConditionalExpression()

bool HPS::IncludeKey::ShowConditionalExpression ( ConditionalExpression out_conditional) const

Shows the conditional expression for this IncludeKey.

Parameters
out_conditionalThe conditional expression for this IncludeKey.
Returns
true if a conditional expression is set on this IncludeKey, false otherwise.

◆ ShowFilter() [1/2]

bool HPS::IncludeKey::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_typesThe array of attribute filters currently set on this IncludeKey.
Returns
true if there are attribute filters, false otherwise.
See also
IncludeKey::SetFilter
IncludeKey::UnsetFilter

◆ ShowFilter() [2/2]

bool HPS::IncludeKey::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_typeThe attribute filter to test on this IncludeKey.
Returns
true if the specified atribute filter is active on this IncludeKey, false otherwise.
See also
IncludeKey::SetFilter
IncludeKey::UnsetFilter

◆ ShowPriority()

bool HPS::IncludeKey::ShowPriority ( int &  out_priority) const

Shows the drawing priority.

Parameters
out_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
true if the setting is valid, false otherwise.

◆ UnsetConditionalExpression()

IncludeKey& HPS::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.

◆ UnsetFilter() [1/3]

IncludeKey& HPS::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_typeThe attribute filter to remove from this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::SetFilter
IncludeKey::ShowFilter

◆ UnsetFilter() [2/3]

IncludeKey& HPS::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_countThe size of the attribute filter array.
in_typesThe array of attribute filters to remove from this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::SetFilter
IncludeKey::ShowFilter

◆ UnsetFilter() [3/3]

IncludeKey& HPS::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_typesThe array of attribute filters to remove from this IncludeKey.
Returns
A reference to this IncludeKey.
See also
IncludeKey::SetFilter
IncludeKey::ShowFilter

◆ UnsetPriority()

IncludeKey& HPS::IncludeKey::UnsetPriority ( )

Removes a drawing priority setting.

Returns
A reference to this object.

The documentation for this class was generated from the following file: