Class: TInternalInheritableGroup

Declaration: AttributeGroup.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TInternalAttributeGroup

Inherited By:

None.

Purpose:

A descendant of TInternalAttributeGroup, this class implements a dynamic hierarchy of attribute groups. That is, the attributes seen by a particular group in the hierarchy include all attributes in a group's parents, its parent's parents, and so on. Change notification is propagated when any group from which another group descends is changed or when the hierarchy itself has changed.

Instantiation:

Always allocate on the heap.

Deriving Classes:

This is a concrete class.

Concurrency:

Not multithread safe.

Resource Use:

This class is reference counted and will be deleted automatically when its reference count goes to zero. Objects of this type should only be allocated by a TAttributeGroupHandle or a class deriving from TAttributeGroupHandle.

Member Function: TInternalInheritableGroup::TInternalInheritableGroup

  1. TInternalInheritableGroup ()
  2. TInternalInheritableGroup (const TInternalInheritableGroup & group)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.

Calling Context:

Objects of this type should only be allocated by a TAttributeGroupHandle or a class deriving from TAttributeGroupHandle.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalInheritableGroup::~TInternalInheritableGroup

virtual ~ TInternalInheritableGroup ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

This destructor should not be called by any other classes or frameworks. This class is reference counted and will be deleted automatically when its reference count goes to zero.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalInheritableGroup::GetParent

virtual TAttributeGroup * GetParent () const

Interface Category:

API.

Purpose:

Returns a pointer to this attribute group's parent group.

Calling Context:

Called directly to get a pointer to an attribute group's parent group.

Parameters:

Return Value:

Returns a pointer to this attribute group's parent group.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalInheritableGroup::SetParent

virtual void SetParent (TAttributeGroup * myNewParent)

Interface Category:

API.

Purpose:

Sets the parent group pointer to point to the specified group. Note: This member function calls NotifyChanged to propagate change notification.

Calling Context:

Called directly to set the attribute group's parent group.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

To improve performance, multiple occurrences of the same group in an attribute group hierarchy is not checked. This means that calling SetParent with a group that already exists in the hierarchy results in an infinite loop.

Member Function: TInternalInheritableGroup::NotifyChanged

virtual void NotifyChanged ()

Interface Category:

API.

Purpose:

When the changes pending flag is false, this member function notifies all dependent attribute groups that this group has changed.

Calling Context:

Called when notification is turned on and this attribute group has been changed (something added or removed).

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalInheritableGroup::operator=

TInternalInheritableGroup & operator =(const TInternalInheritableGroup & group)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalInheritableGroup::operator>>=

virtual TStream & operator >>=(TStream & toStream) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalInheritableGroup::operator<<=

virtual TStream & operator <<= (TStream & fromStream)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.