A year after the comments and I finally get to take at look at the changes you made. Looks good Daniel.
inline ResbufList_iterator ResbufList::begin()
{
return (mpHead == NULL ? NULL : mpHead);
}
Compiler will probably optimize to:
return mpHead;
but if not then it's a wasted if statement.
The loops structures in ResbufList::at and ResbufList::removeAt can become -
ResbufList_iterator ResbufList::at( const size_t idx )
{
for(size_t nItems = 0, resbuf *pRbTemp = mpHead ; pRbTemp != NULL ; pRbTemp = pRbTemp->rbnext, ++nItems)
{
if(idx == nItems)
return pRbTemp;
}
return NULL;
}