29 #ifndef GENICAM_GENAPI_NODEVECTOR_H 30 #define GENICAM_GENAPI_NODEVECTOR_H 42 #if defined ( __GNUC__ ) && !defined (VXWORKS) && !defined ( __APPLE__ ) 43 using namespace __gnu_cxx;
46 #if defined ( __GNUC__ ) && defined ( __linux__) 50 #if defined (_WIN32) || (defined (__GNUC__) && (defined (__linux__) || defined (__APPLE__) || defined(VXWORKS))) 55 # pragma warning( disable : 4312 ) 72 class GENAPI_DECL node_vector
79 class GENAPI_DECL const_iterator
84 typedef std::random_access_iterator_tag iterator_category;
86 typedef ptrdiff_t difference_type;
92 const_iterator ( T *pPtr = 0 );
97 const T & operator * (
void )
const;
98 const_iterator & operator ++ (
void );
99 const_iterator operator ++ (
int );
100 const_iterator & operator -- (
void );
101 const_iterator operator -- (
int );
102 const_iterator & operator += ( intptr_t iInc );
103 const_iterator operator += ( intptr_t iInc )
const;
104 const_iterator operator + ( intptr_t iInc )
const;
105 const_iterator & operator -= ( intptr_t iDec );
106 const_iterator operator -= ( intptr_t iDec )
const;
107 intptr_t operator - (
const const_iterator &iter )
const;
108 const_iterator operator - ( intptr_t iDec )
const;
109 const T & operator [] ( intptr_t iIndex )
const;
110 bool operator == (
const const_iterator &iter )
const;
111 bool operator != (
const const_iterator &iter )
const;
112 bool operator < (
const const_iterator &iter )
const;
113 bool operator > (
const const_iterator &iter )
const;
114 bool operator <= (
const const_iterator &iter )
const;
115 bool operator >= (
const const_iterator &iter )
const;
117 friend const_iterator operator + ( intptr_t iInc,
const const_iterator &iter);
125 class GENAPI_DECL iterator :
126 public const_iterator
131 typedef std::random_access_iterator_tag iterator_category;
132 typedef T value_type;
133 typedef const_iterator::difference_type difference_type;
134 typedef const_iterator::pointer pointer;
135 typedef const_iterator::reference reference;
139 iterator ( T *pPtr = 0 );
144 T & operator * (
void )
const;
145 iterator & operator ++ (
void );
146 iterator operator ++ (
int );
147 iterator & operator -- (
void );
148 iterator operator -- (
int );
149 iterator & operator += ( intptr_t iInc );
150 iterator operator += ( intptr_t iInc )
const;
151 iterator operator + ( intptr_t iInc )
const;
152 iterator & operator -= ( intptr_t iDec );
153 iterator operator -= ( intptr_t iDec )
const;
154 intptr_t operator - (
const iterator &iter )
const;
155 iterator operator - ( intptr_t iDec )
const;
156 T & operator [] ( intptr_t iIndex )
const;
158 friend iterator operator + ( intptr_t iInc,
const iterator &iter);
164 node_vector (
void );
165 explicit node_vector (
size_t uiSize);
166 node_vector (
const node_vector &obj);
167 virtual ~node_vector (
void );
172 virtual void assign (
size_t n,
const T &val );
173 virtual void clear (
void );
174 virtual iterator erase ( iterator pos );
175 virtual T & at (
size_t uiIndex );
176 virtual const T & at (
size_t uiIndex )
const;
177 virtual T & back (
void );
178 virtual const T & back (
void )
const;
179 virtual iterator begin (
void );
180 virtual const_iterator begin (
void )
const;
181 virtual size_t capacity (
void )
const;
182 virtual iterator end (
void );
183 virtual const_iterator end (
void )
const;
184 virtual T & front (
void );
185 virtual const T & front (
void )
const;
186 virtual size_t max_size (
void )
const;
187 virtual size_t size (
void )
const;
188 virtual iterator insert ( iterator pos,
const T& val) ;
189 virtual bool empty (
void )
const;
190 virtual void pop_back (
void );
191 virtual void push_back (
const T &val );
192 virtual void resize (
size_t uiSize );
193 virtual void reserve (
size_t uiSize );
196 virtual void erase (
size_t uiIndex);
197 virtual void insert (
size_t uiIndex,
const T &val);
202 node_vector & operator = (
const node_vector &obj );
203 T & operator [] (
size_t uiIndex );
204 const T & operator [] (
size_t uiIndex )
const;
205 void operator delete (
void *pWhere );
206 void *
operator new (
size_t uiSize );
211 typedef std::vector<T, std::allocator<T> > vector_t;
225 class GENAPI_DECL value_vector
231 class GENAPI_DECL const_iterator
236 typedef std::random_access_iterator_tag iterator_category;
237 typedef T value_type;
238 typedef ptrdiff_t difference_type;
240 typedef T& reference;
245 const_iterator ( T *pPtr = 0 );
250 const T & operator * (
void )
const;
251 const_iterator & operator ++ (
void );
252 const_iterator operator ++ (
int );
253 const_iterator & operator -- (
void );
254 const_iterator operator -- (
int );
255 const_iterator & operator += ( intptr_t iInc );
256 const_iterator operator += ( intptr_t iInc )
const;
257 const_iterator operator + ( intptr_t iInc )
const;
258 const_iterator & operator -= ( intptr_t iDec );
259 const_iterator operator -= ( intptr_t iDec )
const;
260 intptr_t operator - (
const const_iterator &iter )
const;
261 const_iterator operator - ( intptr_t iDec )
const;
262 const T & operator [] ( intptr_t iIndex )
const;
263 bool operator == (
const const_iterator &iter )
const;
264 bool operator != (
const const_iterator &iter )
const;
265 bool operator < (
const const_iterator &iter )
const;
266 bool operator > (
const const_iterator &iter )
const;
267 bool operator <= (
const const_iterator &iter )
const;
268 bool operator >= (
const const_iterator &iter )
const;
270 friend const_iterator operator + ( intptr_t iInc,
const const_iterator &iter);
278 class GENAPI_DECL iterator :
279 public const_iterator
284 typedef std::random_access_iterator_tag iterator_category;
285 typedef T value_type;
286 typedef const_iterator::difference_type difference_type;
287 typedef const_iterator::pointer pointer;
288 typedef const_iterator::reference reference;
292 iterator ( T *pPtr = 0 );
297 T & operator * (
void )
const;
298 iterator & operator ++ (
void );
299 iterator operator ++ (
int );
300 iterator & operator -- (
void );
301 iterator operator -- (
int );
302 iterator & operator += ( intptr_t iInc );
303 iterator operator += ( intptr_t iInc )
const;
304 iterator operator + ( intptr_t iInc )
const;
305 iterator & operator -= ( intptr_t iDec );
306 iterator operator -= ( intptr_t iDec )
const;
307 intptr_t operator - (
const iterator &iter )
const;
308 iterator operator - ( intptr_t iDec )
const;
309 T & operator [] ( intptr_t iIndex )
const;
311 friend iterator operator + ( intptr_t iInc,
const iterator &iter);
317 value_vector (
void );
318 explicit value_vector (
size_t uiSize);
319 value_vector (
const value_vector &obj);
320 virtual ~value_vector (
void );
325 virtual void assign (
size_t n,
const T &obj );
326 virtual void clear (
void );
327 virtual iterator erase ( iterator pos );
328 virtual T & at (
size_t uiIndex );
329 virtual const T & at (
size_t uiIndex )
const;
330 virtual T & back (
void );
331 virtual const T & back (
void )
const;
332 virtual iterator begin (
void );
333 virtual const_iterator begin (
void )
const;
334 virtual size_t capacity (
void )
const;
335 virtual iterator end (
void );
336 virtual const_iterator end (
void )
const;
337 virtual T & front (
void );
338 virtual const T & front (
void )
const;
339 virtual size_t max_size (
void )
const;
340 virtual size_t size (
void )
const;
341 virtual iterator insert ( iterator pos,
const T& val) ;
342 virtual bool empty (
void )
const;
343 virtual void pop_back (
void );
344 virtual void push_back (
const T &val );
345 virtual void resize (
size_t uiSize,
const T &val );
346 virtual void reserve (
size_t uiSize );
350 virtual void erase (
size_t uiIndex);
351 virtual void insert (
size_t uiIndex,
const T &val);
356 value_vector & operator = (
const value_vector &obj );
357 T & operator [] (
size_t uiIndex );
358 const T & operator [] (
size_t uiIndex )
const;
359 void operator delete (
void *pWhere );
360 void *
operator new (
size_t uiSize );
365 typedef std::vector<T, std::allocator<T> > vector_t;
370 typedef value_vector FeatureList_t;
375 # error Unknown platform 378 #endif // GENICAM_GENAPI_NODEVECTOR_H GENICAM_INTERFACE INode
Interface common to all nodes.
Definition: ICategory.h:49
Forward declarations for GenICam types.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IValue
Interface for value properties.
Definition: IValue.h:59
declspec's to be used for GenApi Windows dll
Definition: ChunkAdapter.h:37