31 static bool lazyMemoryManagement;
33 StringArray(
int startsize = 0);
34 StringArray(StringArray & original);
35 virtual ~StringArray();
42 void WriteLine(FILE * f);
43 void Read(
const char * filename);
44 void Write(
const char * filename);
45 void WriteLine(
const char * filename);
55 void PrintLine(FILE * f);
57 void Grow(
int newsize);
64 int Dimension(
int newcount);
67 String & operator [](
int i)
71 const String & operator [](
int i)
const
80 int AddColumns(
const String & s,
char ch =
'\t');
81 int AddColumns(
const String & s,
char ch,
int maxColumns);
82 int AddTokens(
const String & s,
char ch);
83 int AddTokens(
const String & s,
const String & separators =
" \t\r\n");
85 int ReplaceColumns(
const String & s,
char ch =
'\t')
88 return AddColumns(s, ch);
90 int ReplaceTokens(
const String & s,
const String & separators =
" \t\r\n")
93 return AddTokens(s, separators);
100 void InsertAt(
int position,
const String & s);
101 void Delete(
int position);
107 int Push(
const String & s)
117 int Find(
const String & s)
const;
118 int FastFind(
const String & s)
const;
119 int SlowFind(
const String & s)
const;
128 StringArray & operator = (
const StringArray & rhs);
130 bool operator == (
const StringArray & rhs)
const;
131 bool operator != (
const StringArray & rhs)
const
133 return !(*
this == rhs);
136 void Swap(StringArray & s);
139 static int ComparisonForSort(
const void * a,
const void * b);