Rev 111 | Rev 121 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "StringList.h"
#include "spkdef.h"
namespace Utils {
CStringList::CStringList()
{
_lList = new CList<SStringList>();
}
CStringList::~CStringList()
{
delete _lList;
}
void CStringList::pushBack(const String &str, const String &data)
{
SStringList *strNode = new SStringList;
strNode->str = str;
strNode->data = data;
_lList->push_back(strNode);
}
void CStringList::pushBack(const String &str)
{
pushBack(str, "");
}
void CStringList::clear()
{
_lList->clear();
}
void CStringList::tokenise(const String &str, const String &token)
{
int max = 0;
Utils::String *strs = str.tokenise(token, &max);
for ( int i = 0; i < max; i++ ) {
this->pushBack(strs[i], Utils::String::Null());
}
CLEANSPLIT(strs, max);
}
Utils::String CStringList::firstString()
{
SStringList *node = _lList->first();
if ( node ) return node->str;
return Utils::String::Null();
}
Utils::String CStringList::nextString()
{
SStringList *node = _lList->next();
if ( node ) return node->str;
return Utils::String::Null();
}
Utils::SStringList *CStringList::first()
{
return _lList->first();
}
Utils::SStringList *CStringList::next()
{
return _lList->next();
}
CStringListIterator CStringList::begin()
{
return _lList->begin();
}
CStringListIterator CStringList::end()
{
return _lList->end();
}
Utils::String CStringList::findData(const Utils::String &data, bool bIgnoreCase) const
{
for(CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
if ( (*itr)->data.Compare(data, !bIgnoreCase) )
return (*itr)->str;
}
return String::Null();
}
Utils::String CStringList::findString(const Utils::String &str, bool bIgnoreCase) const
{
for(CList<SStringList>::iterator itr = _lList->begin(); itr != _lList->end(); itr++) {
if ( (*itr)->str.Compare(str, !bIgnoreCase) )
return (*itr)->data;
}
return String::Null();
}
size_t CStringList::size() const
{
return _lList->size();
}
bool CStringList::empty() const
{
return _lList->empty();
}
}