home *** CD-ROM | disk | FTP | other *** search
- #include <classes/DataStructures/Stringarray.h>
-
- #include <stdarg.h>
-
- stringarray::stringarray(STRPTR string1, ...)
- : strs(4)
- {
- if (string1)
- {
- va_list v;
- va_start(v,string1);
- addTail(string1);
- STRPTR s;
- while (s = va_arg(v,STRPTR))
- addTail(s);
- va_end(v);
- };
- }
-
- stringarray::stringarray(STRPTR *strings)
- : strs(4)
- {
- if (strings)
- {
- while (*strings)
- addTail(*(strings++))
- };
- }
-
- ULONG stringarray::length() const
- {
- return strs.length();
- }
-
- STRPTR *stringarray::strings()
- {
- (STRPTR &) strs.operator[](strs.length()) = NULL;
- return (STRPTR *) &strs.operator[](0);
- }
-
- STRPTR &stringarray::operator [](ULONG index)
- {
- return (STRPTR &) strs.operator[] (index);
- }
-
- VOID stringarray::addTail(STRPTR str)
- {
- (STRPTR &) strs.addTail() = str;
- }
-
- VOID stringarray::insert(STRPTR str, ULONG index)
- {
- (STRPTR &) strs.insert(index) = str;
- }
-
- VOID stringarray::remTail()
- {
- strs.remTail();
- }
-
- VOID stringarray::remove(ULONG index)
- {
- strs.remove(index);
- }
-
- // *************************************************************
-
- stringarraycursor::stringarraycursor(stringarray &s)
- : gen_arraycursor(s.strs)
- {
- }
-
- STRPTR stringarraycursor::item()
- {
- return (STRPTR) ((STRPTR &) gen_arraycursor::item());
- }
-