SOL9 2.0 Class: StringListT

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * StringListT.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL++2000
// 2009/10/18

#pragma once

#include <sol\LinkedList.h>
#include <sol\StringT.h>


namespace SOL {
template <class T> class StringListT :public LinkedList {

public:
    StringListT() { }

public:
    bool add(const StringT<T>& string) {
            return LinkedList::addLast(new StringT<T>(string));
    }

public:
    bool add(const StringT<T>* string) {
            return LinkedList::addLast(new StringT<T>(string));
    }

public:
    bool    add(const T* string) {
            return LinkedList::addLast(new StringT<T>(string));           
    }


public:
    bool    addFirst(const T* string) {
            return LinkedList::addFirst(new StringT<T>(string));   
    }

public:
    bool add(const StringListT<T>& list) 
    { 
        bool rc = true;
        if (list.getLength() > 0) {
            ListEntry* p = list.getEntry();
            while (p != NULL) {
                StringT<T>* string = (StringT<T>*)p -> getObject();
                if (string) {
                    add(string);
                }
                p = p -> getNext();
            }
        }
        return rc;
    }

public:
    bool add(const StringListT<T>* list) 
    { 
        bool rc = true;
        if (list != NULL && list -> getLength() > 0) {
            ListEntry* p = list -> getEntry();
            while (p != NULL) {
                StringT<T>* string = (StringT<T>*)p -> getObject();
                if (string) {
                    add(string);
                }
                p = p -> getNext();
            }
        }
        return rc;
    }

public:
    StringT<T>*    getNth(int n) {
            return (StringT<T>*)LinkedList::getNth(n);
    }
};

}



Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.