CObList::GetNext
Gets the list element identified by rPosition, then sets rPosition to the POSITION value of the next entry in the list.
CObject*& GetNext(
POSITION& rPosition
);
const CObject* GetNext(
POSITION& rPosition
) const;
Parameters
- rPosition
A reference to a POSITION value returned by a previous GetNext, GetHeadPosition, or other member function call.
Return Value
See the return value description for GetHead.
Remarks
You can use GetNext in a forward iteration loop if you establish the initial position with a call to GetHeadPosition or Find.
You must ensure that your POSITION value represents a valid position in the list. If it is invalid, then the Debug version of the Microsoft Foundation Class Library asserts.
If the retrieved element is the last in the list, then the new value of rPosition is set to NULL.
It is possible to remove an element during an iteration. See the example for RemoveAt.
Note
As of MFC 8.0 the const version of this method has changed to return const CObject* instead of const CObject*&. This change was made to bring the compiler into conformance with the C++ standard.
The following table shows other member functions that are similar to CObList::GetNext.
Class |
Member Function |
---|---|
void*& GetNext( POSITION& rPosition ); const void* GetNext( POSITION& rPosition ) const; |
|
CString& GetNext( POSITION& rPosition ); const CString& GetNext( POSITION& rPosition ) const; |
Example
See CObList::CObList for a listing of the CAge class.
CObList list;
POSITION pos;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40)); // List now contains (40, 21).
// Iterate through the list in head-to-tail order.
#ifdef _DEBUG
for (pos = list.GetHeadPosition(); pos != NULL;)
{
afxDump << list.GetNext(pos) << _T("\n");
}
#endif
The results from this program are as follows:
a CAge at $479C 40
a CAge at $46C0 21
Requirements
Header: afxcoll.h