Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_SCFSTRINGARRAY_H__
00021 #define __CS_SCFSTRINGARRAY_H__
00022
00027 #include "csextern.h"
00028 #include "csutil/scf_implementation.h"
00029 #include "csutil/stringarray.h"
00030 #include "iutil/stringarray.h"
00031
00033 class scfStringArray : public scfImplementation1<scfStringArray,
00034 iStringArray>
00035 {
00036 csStringArray v;
00037
00038 public:
00039
00041 scfStringArray (int limit = 16, int delta = 16)
00042 : scfImplementationType (this), v (limit, delta)
00043 { }
00044
00046 scfStringArray (const csStringArray& other)
00047 : scfImplementationType (this), v (other)
00048 { }
00049
00051 virtual ~scfStringArray ()
00052 { }
00053
00055 virtual size_t GetSize () const
00056 {
00057 return v.GetSize ();
00058 }
00059
00061 virtual void Push (char const *value)
00062 {
00063 v.Push ((char*)value);
00064 }
00065
00071 virtual char *Pop ()
00072 {
00073 return v.Pop ();
00074 }
00075
00077 virtual char const *Get (size_t n) const
00078 {
00079 return v.Get (n);
00080 }
00081
00088 virtual size_t Find (const char *value) const
00089 {
00090 return v.Find (value);
00091 }
00092
00099 virtual size_t FindCaseInsensitive (const char *value) const
00100 {
00101 return v.FindCaseInsensitive (value);
00102 }
00103
00109 virtual size_t FindSortedKey (const char *value) const
00110 {
00111 return v.FindSortedKey ((char*)value);
00112 }
00113
00125 virtual size_t Contains (const char* str, bool case_sensitive = true) const
00126 {
00127 return v.Contains (str, case_sensitive);
00128 }
00129
00135 virtual void Sort (bool case_sensitive = true)
00136 {
00137 v.Sort (case_sensitive);
00138 }
00139
00141 virtual bool DeleteIndex (size_t n)
00142 {
00143 return v.DeleteIndex (n);
00144 }
00145
00147 virtual bool Insert (size_t n, char const *value)
00148 {
00149 return v.Insert (n, (char*)value);
00150 }
00151
00152
00154 virtual void Empty ()
00155 {
00156 v.Empty ();
00157 }
00158
00164 virtual bool IsEmpty () const
00165 {
00166 return v.IsEmpty ();
00167 }
00168
00173 virtual void Put (size_t n, const char* value)
00174 {
00175 v.Put (n, value);
00176 }
00177 };
00178
00179 #endif // __CS_SCFSTRINGARRAY_H__