34#ifndef GENICAM_GCSTRINGLIST_H
35#define GENICAM_GCSTRINGLIST_H
43#if defined (_WIN32) || (defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS)))
46namespace GENICAM_NAMESPACE
53 class GCBASE_API gcstring_vector
58 class GCBASE_API const_iterator
63 const_iterator(gcstring *pStr = 0);
68 const gcstring & operator * (
void)
const;
69 const gcstring * operator -> (
void)
const;
70 const_iterator & operator ++ (
void);
71 const_iterator operator ++ (
int);
72 const_iterator & operator -- (
void);
73 const_iterator operator -- (
int);
74 const_iterator & operator += (intptr_t iInc);
75 const_iterator operator + (intptr_t iInc)
const;
76 const_iterator & operator -= (intptr_t iDec);
77 intptr_t operator - (
const const_iterator &iter)
const;
78 const_iterator operator - (intptr_t iDec)
const;
79 const gcstring & operator [] (intptr_t iIndex)
const;
80 bool operator == (
const const_iterator &iter)
const;
81 bool operator != (
const const_iterator &iter)
const;
82 bool operator < (
const const_iterator &iter)
const;
83 bool operator > (
const const_iterator &iter)
const;
84 bool operator <= (
const const_iterator &iter)
const;
85 bool operator >= (
const const_iterator &iter)
const;
87 friend const_iterator operator + (intptr_t iInc,
const const_iterator &iter);
95 class GCBASE_API iterator :
101 iterator(gcstring *pStr = 0);
106 gcstring & operator * (
void)
const;
107 gcstring * operator -> (
void)
const;
108 iterator & operator ++ (
void);
109 iterator operator ++ (
int);
110 iterator & operator -- (
void);
111 iterator operator -- (
int);
112 iterator & operator += (intptr_t iInc);
113 iterator operator + (intptr_t iInc)
const;
114 iterator & operator -= (intptr_t iDec);
115 intptr_t operator - (
const iterator &iter)
const;
116 iterator operator - (intptr_t iDec)
const;
117 gcstring & operator [] (intptr_t iIndex)
const;
119 friend iterator operator + (intptr_t iInc,
const iterator &iter);
125 gcstring_vector(
void);
126 explicit gcstring_vector(
size_t uiSize,
const gcstring &str = gcstring());
127 gcstring_vector(
const gcstring_vector &obj);
128 virtual ~gcstring_vector(
void);
133 virtual void assign(
size_t n,
const gcstring &val);
134 virtual void clear(
void);
135 virtual iterator erase(iterator pos);
136 virtual gcstring & at(
size_t uiIndex);
137 virtual const gcstring & at(
size_t uiIndex)
const;
138 virtual gcstring & back(
void);
139 virtual const gcstring & back(
void)
const;
140 virtual iterator begin(
void);
141 virtual const_iterator begin(
void)
const;
142 virtual size_t capacity(
void)
const;
143 virtual iterator end(
void);
144 virtual const_iterator end(
void)
const;
145 virtual gcstring & front(
void);
146 virtual const gcstring & front(
void)
const;
147 virtual size_t max_size(
void)
const;
148 virtual size_t size(
void)
const;
149 virtual iterator insert(iterator pos,
const gcstring &str);
150 virtual bool empty(
void)
const;
151 virtual void pop_back(
void);
152 virtual void push_back(
const gcstring &str);
153 virtual void resize(
size_t uiSize,
const gcstring &str = gcstring());
154 virtual void reserve(
size_t uiSize);
155 virtual bool contains(
const gcstring &str)
const;
159 virtual gcstring_vector & assign(
const gcstring_vector &obj);
160 virtual void erase(
size_t uiIndex);
161 virtual void insert(
size_t uiIndex,
const gcstring &str);
167 gcstring_vector & operator = (
const gcstring_vector &obj);
168 gcstring & operator [] (
size_t uiIndex);
169 const gcstring & operator [] (
size_t uiIndex)
const;
170 void operator delete (
void *pWhere);
171 void *
operator new (
size_t uiSize);
184# error No known support for shared libraries
Portable string implementation.
Platform-dependent type definitions.