|
// ListIteratorOfListOfCOneAxis.cpp: implementation of the CListIteratorOfListOfCOneAxis class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ListIteratorOfListOfCOneAxis.h"
#include "ListException.h"
#include "MMath.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CListIteratorOfListOfCOneAxis::CListIteratorOfListOfCOneAxis(CListOfCOneAxis* aList) : theList(aList)
{
}
CListIteratorOfListOfCOneAxis::~CListIteratorOfListOfCOneAxis()
{
}
void CListIteratorOfListOfCOneAxis::SetList(CListOfCOneAxis* aList)
{
theList = aList;
}
void CListIteratorOfListOfCOneAxis::Init()
{
curPtr = theList->firstPtr;
}
bool CListIteratorOfListOfCOneAxis::More() const
{
return (curPtr != 0);
}
void CListIteratorOfListOfCOneAxis::Next()
{
curPtr = (curPtr) ? curPtr->nextPtr : 0;
}
COneAxis CListIteratorOfListOfCOneAxis::Current() const
{
return (curPtr) ? curPtr->data : COneAxis();
}
COneAxis CListIteratorOfListOfCOneAxis::ValueAt(const int index)
{
int cnt =0;
Init();
while(curPtr != 0)
{
Next();
cnt++;
}
if(cnt < index)
throw CListException(LIST_BOUND_UPPER);
else if(index<1)
throw CListException(LIST_BOUND_LOWER);
/*else*/ if(index ==1 )
return theList->firstPtr->data;
else
{
Init();
for(int i=1; i < index; i++)
{
if(curPtr->nextPtr == 0)
break;
Next();
}
return curPtr->data;
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Sharjith is a Mechanical Engineer with strong passion for Automobiles, Aircrafts and Software development.