CGenericList Class


CGenericList class hierarchy

CGenericList is a template class that allows for a type-specific implementation of a list. It is derived from CBaseList and uses that class's typeless implementation. The constructor creates a CBaseList object, and all CGenericList member functions call CBaseList member functions but provide type-checking dependent on the template.

Member Functions
Name Description
AddAfter Inserts a node or list of nodes after the specified node.
AddBefore Inserts a node or list of nodes before the specified node.
AddHead Inserts a node or list of nodes at the front of the list.
AddTail Appends a node or list of nodes to the end of the list.
CGenericList Constructs a CGenericList object.
Find Returns the first position that contains the specified object.
Get Returns the object at the specified position.
GetCount Returns the number of objects (object count) in the list.
GetHead Returns the object at the head of the list.
GetHeadPosition Returns a cursor identifying the first element of the list.
GetNext Returns the specified object and update position.
GetTailPosition Returns a cursor identifying the last element of the list.
Remove Removes the specified node from the list.
RemoveHead Removes the first node in the list.
RemoveTail Removes the last node in the list.


CGenericList::AddAfter

CGenericList Class

Inserts a node or list of nodes after the specified node.

POSITION AddAfter(
  POSITION p,
  OBJECT * pObj
  );
BOOL AddAfter(
  POSITION pos,
  CGenericList<OBJECT> *pList
  );

Parameters
pos
Position after which to add the node or list of nodes.
pObj
Pointer to the object to add.
pList
Pointer to the list of objects to add.
Return Values

Returns the position of the inserted object in the case of single-object insertion. For list insertion, returns TRUE if successful; otherwise, returns FALSE.

Remarks

This member function calls the CBaseList::AddAfter member function when passed a list of nodes. CGenericList::AddAfter calls the CBaseList::AddAfterI member function when passed a single node.


CGenericList::AddBefore

CGenericList Class

Inserts a node or list of nodes before the specified node.

POSITION AddBefore(
  POSITION p,
  OBJECT * pObj
  );
BOOL AddBefore(
  POSITION pos,
  CGenericList<OBJECT> *pList
  );

Parameters
pos
Position before which to add the node or list of nodes.
pObj
Pointer to the object to add.
pList
Pointer to the list of objects to add.
Return Values

Returns the position of the inserted object in the case of single-object insertion. For list insertion, returns TRUE if successful; otherwise, returns FALSE.

Remarks

This member function calls the CBaseList::AddBefore member function when passed a list of nodes. CGenericList::AddBefore calls the CBaseList::AddBeforeI member function when passed a single node.


CGenericList::AddHead

CGenericList Class

Inserts a node or list of nodes at the front of the list.

POSITION AddHead(
  OBJECT * pObj
  );
BOOL AddHead(
  CGenericList<OBJECT> *pList
  );

Parameters
pObj
Pointer to the object to add.
pList
Pointer to the list of objects to add.
Return Values

Returns the new head position, or NULL if unsuccessful in the case of single-node additions. For list insertions, returns TRUE if successful; otherwise, returns FALSE.

Remarks

This member function calls the CBaseList::AddHead member function when passed a list of nodes. CGenericList::AddHead calls the CBaseList::AddHeadI member function when passed a single node.


CGenericList::AddTail

CGenericList Class

Appends a node or list of nodes to the end of the list.

POSITION AddTail(
  OBJECT * pObj
  );
BOOL AddTail(
  CGenericList<OBJECT> *pList
  );

Parameters
pObj
Pointer to the object to add.
pList
Pointer to the list of objects to add.
Return Values

Returns the new tail position, or NULL if unsuccessful in the case of single-node insertions. For list insertions, returns TRUE if successful; otherwise, returns FALSE.

Remarks

This member function calls the CBaseList::AddTail member function when passed a list of nodes. CGenericList::AddTail calls the CBaseList::AddTailI member function when passed a single node.


CGenericList::CGenericList

CGenericList Class

Constructs a CGenericList object.

CGenericList(
  TCHAR *pName,
  INT iItems,
  BOOL bLock,
  BOOL bAlert
  );

CGenericList(
  TCHAR *pName
  );

Parameters
pName
Name of the list.
iItems
Number of items in the list.
bLock
TRUE if the list is locked and FALSE otherwise. This parameter defaults to TRUE.
bAlert
Not used.
Return Values

No return value.

Remarks

This constructor calls the CBaseList constructor.


CGenericList::Find

CGenericList Class

Retrieves the first position that contains the specified object.

POSITION Find(
  OBJECT * pObj
  );

Parameters
pObj
Pointer to the object to find.
Return Values

Returns a position cursor.

Remarks

This member function calls the CBaseList::FindI member function.


CGenericList::Get

CGenericList Class

Retrieves the object at the specified position.

OBJECT *Get(
  POSITION pos
  );

Parameters
pos
Position in the list from which to retrieve the object.
Return Values

Returns a pointer to an object.

Remarks

This member function calls the CBaseList::GetI member function.


CGenericList::GetCount

CGenericList Class

Retrieves the number of objects (object count) in the list.

int GetCount( );

Return Values

Returns the value of m_Count.


CGenericList::GetHead

CGenericList Class

Retrieves the object at the head of the list.

OBJECT GetHead( );

Return Values

Returns the head of the list by calling CGenericList::GetHeadPosition.


CGenericList::GetHeadPosition

CGenericList Class

Retrieves a cursor identifying the first element of the list.

POSITION GetHeadPosition( );

Return Values

Returns the position cursor held by m_pFirst.


CGenericList::GetNext

CGenericList Class

Retrieves the specified object and update position.

OBJECT *GetNext(
  POSITION& rp
  );

Parameters
rp
Returned pointer to the next object.
Return Values

Returns a pointer to an object at the next position.

Remarks

This member function calls the CBaseList::GetNextI member function.


CGenericList::GetTailPosition

CGenericList Class

Retrieves a cursor identifying the last element of the list.

POSITION GetTailPosition( );

Return Values

Returns the position cursor held by m_pLast.


CGenericList::Remove

CGenericList Class

Removes the specified node from the list.

OBJECT *Remove(
  POSITION pos
  );

Parameters
pos
Position in the list of nodes to remove.
Return Values

Returns the pointer to the object that was removed.

Remarks

This member function calls the CBaseList::RemoveI member function.


CGenericList::RemoveHead

CGenericList Class

Removes the first node in the list.

OBJECT *RemoveHead( );

Return Values

Returns the pointer to the object that was removed.

Remarks

This member function calls the CBaseList::RemoveHeadI member function.


CGenericList::RemoveTail

CGenericList Class

Removes the last node in the list.

OBJECT *RemoveTail( );

Return Values

Returns the pointer to the object that was removed.

Remarks

This member function calls the CBaseList::RemoveTailI member function.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.