31 #ifndef GENICAM_GENAPI_NODEVECTOR_H 32 #define GENICAM_GENAPI_NODEVECTOR_H 44 #if defined ( __GNUC__ ) && !defined (VXWORKS) && !defined ( __APPLE__ ) 45 using namespace __gnu_cxx;
48 #if defined ( __GNUC__ ) && defined ( __linux__) 52 #if defined (_WIN32) || (defined (__GNUC__) && (defined (__linux__) || defined (__APPLE__) || defined(VXWORKS))) 57 # pragma warning( disable : 4312 ) 86 typedef std::random_access_iterator_tag iterator_category;
88 typedef ptrdiff_t difference_type;
94 const_iterator ( T *pPtr = 0 );
100 const_iterator & operator ++ (
void );
101 const_iterator operator ++ (
int );
102 const_iterator & operator -- (
void );
103 const_iterator operator -- (
int );
104 const_iterator & operator += ( intptr_t iInc );
105 const_iterator operator += ( intptr_t iInc )
const;
106 const_iterator operator + ( intptr_t iInc )
const;
107 const_iterator & operator -= ( intptr_t iDec );
108 const_iterator operator -= ( intptr_t iDec )
const;
109 intptr_t operator - (
const const_iterator &iter )
const;
110 const_iterator operator - ( intptr_t iDec )
const;
111 const T & operator [] ( intptr_t iIndex )
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;
116 bool operator <= (
const const_iterator &iter )
const;
117 bool operator >= (
const const_iterator &iter )
const;
119 friend const_iterator operator + ( intptr_t iInc,
const const_iterator &iter);
128 public const_iterator
133 typedef std::random_access_iterator_tag iterator_category;
134 typedef T value_type;
135 typedef const_iterator::difference_type difference_type;
136 typedef const_iterator::pointer pointer;
137 typedef const_iterator::reference reference;
141 iterator ( T *pPtr = 0 );
147 iterator & operator ++ (
void );
148 iterator operator ++ (
int );
149 iterator & operator -- (
void );
150 iterator operator -- (
int );
151 iterator & operator += ( intptr_t iInc );
152 iterator operator += ( intptr_t iInc )
const;
153 iterator operator + ( intptr_t iInc )
const;
154 iterator & operator -= ( intptr_t iDec );
155 iterator operator -= ( intptr_t iDec )
const;
156 intptr_t operator - (
const iterator &iter )
const;
157 iterator operator - ( intptr_t iDec )
const;
158 T & operator [] ( intptr_t iIndex )
const;
160 friend iterator operator + ( intptr_t iInc,
const iterator &iter);
166 node_vector (
void );
167 explicit node_vector (
size_t uiSize);
168 node_vector (
const node_vector &obj);
169 virtual ~node_vector (
void );
174 virtual void assign (
size_t n,
const T &val );
175 virtual void clear (
void );
176 virtual iterator erase ( iterator pos );
177 virtual T & at (
size_t uiIndex );
178 virtual const T & at (
size_t uiIndex )
const;
179 virtual T & back (
void );
180 virtual const T & back (
void )
const;
181 virtual iterator begin (
void );
182 virtual const_iterator begin (
void )
const;
183 virtual size_t capacity (
void )
const;
184 virtual iterator end (
void );
185 virtual const_iterator end (
void )
const;
186 virtual T & front (
void );
187 virtual const T & front (
void )
const;
188 virtual size_t max_size (
void )
const;
189 virtual size_t size (
void )
const;
190 virtual iterator insert ( iterator pos,
const T& val) ;
191 virtual bool empty (
void )
const;
192 virtual void pop_back (
void );
193 virtual void push_back (
const T &val );
194 virtual void resize (
size_t uiSize );
195 virtual void reserve (
size_t uiSize );
198 virtual void erase (
size_t uiIndex);
199 virtual void insert (
size_t uiIndex,
const T &val);
204 node_vector &
operator = (
const node_vector &obj );
205 T & operator [] (
size_t uiIndex );
206 const T & operator [] (
size_t uiIndex )
const;
207 void operator delete (
void *pWhere );
208 void *
operator new (
size_t uiSize );
213 typedef std::vector<T, std::allocator<T> > vector_t;
238 typedef std::random_access_iterator_tag iterator_category;
239 typedef T value_type;
240 typedef ptrdiff_t difference_type;
242 typedef T& reference;
247 const_iterator ( T *pPtr = 0 );
253 const_iterator & operator ++ (
void );
254 const_iterator operator ++ (
int );
255 const_iterator & operator -- (
void );
256 const_iterator operator -- (
int );
257 const_iterator & operator += ( intptr_t iInc );
258 const_iterator operator += ( intptr_t iInc )
const;
259 const_iterator operator + ( intptr_t iInc )
const;
260 const_iterator & operator -= ( intptr_t iDec );
261 const_iterator operator -= ( intptr_t iDec )
const;
262 intptr_t operator - (
const const_iterator &iter )
const;
263 const_iterator operator - ( intptr_t iDec )
const;
264 const T & operator [] ( intptr_t iIndex )
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;
269 bool operator <= (
const const_iterator &iter )
const;
270 bool operator >= (
const const_iterator &iter )
const;
272 friend const_iterator operator + ( intptr_t iInc,
const const_iterator &iter);
281 public const_iterator
286 typedef std::random_access_iterator_tag iterator_category;
287 typedef T value_type;
288 typedef const_iterator::difference_type difference_type;
289 typedef const_iterator::pointer pointer;
290 typedef const_iterator::reference reference;
294 iterator ( T *pPtr = 0 );
300 iterator & operator ++ (
void );
301 iterator operator ++ (
int );
302 iterator & operator -- (
void );
303 iterator operator -- (
int );
304 iterator & operator += ( intptr_t iInc );
305 iterator operator += ( intptr_t iInc )
const;
306 iterator operator + ( intptr_t iInc )
const;
307 iterator & operator -= ( intptr_t iDec );
308 iterator operator -= ( intptr_t iDec )
const;
309 intptr_t operator - (
const iterator &iter )
const;
310 iterator operator - ( intptr_t iDec )
const;
311 T & operator [] ( intptr_t iIndex )
const;
313 friend iterator operator + ( intptr_t iInc,
const iterator &iter);
319 value_vector (
void );
320 explicit value_vector (
size_t uiSize);
321 value_vector (
const value_vector &obj);
322 virtual ~value_vector (
void );
327 virtual void assign (
size_t n,
const T &obj );
328 virtual void clear (
void );
329 virtual iterator erase ( iterator pos );
330 virtual T & at (
size_t uiIndex );
331 virtual const T & at (
size_t uiIndex )
const;
332 virtual T & back (
void );
333 virtual const T & back (
void )
const;
334 virtual iterator begin (
void );
335 virtual const_iterator begin (
void )
const;
336 virtual size_t capacity (
void )
const;
337 virtual iterator end (
void );
338 virtual const_iterator end (
void )
const;
339 virtual T & front (
void );
340 virtual const T & front (
void )
const;
341 virtual size_t max_size (
void )
const;
342 virtual size_t size (
void )
const;
343 virtual iterator insert ( iterator pos,
const T& val) ;
344 virtual bool empty (
void )
const;
345 virtual void pop_back (
void );
346 virtual void push_back (
const T &val );
347 virtual void resize (
size_t uiSize,
const T &val );
348 virtual void reserve (
size_t uiSize );
352 virtual void erase (
size_t uiIndex);
353 virtual void insert (
size_t uiIndex,
const T &val);
358 value_vector &
operator = (
const value_vector &obj );
359 T & operator [] (
size_t uiIndex );
360 const T & operator [] (
size_t uiIndex )
const;
361 void operator delete (
void *pWhere );
362 void *
operator new (
size_t uiSize );
367 typedef std::vector<T, std::allocator<T> > vector_t;
372 typedef value_vector FeatureList_t;
377 # error Unknown platform 380 #endif // GENICAM_GENAPI_NODEVECTOR_H bool operator!=(const MyAlloc< T1 > &, const MyAlloc< T2 > &)
virtual void operator=(bool Value)
Set node value.
bool operator==(const MyAlloc< T1 > &, const MyAlloc< T2 > &)
interface GENAPI_DECL_ABSTRACT IValue
Interface for value properties.
Forward declarations for GenICam types.
virtual GENICAM_NAMESPACE::gcstring operator*()=0
Get string node value.
declspec's to be used for GenApi Windows dll
interface GENAPI_DECL_ABSTRACT INode
Interface common to all nodes.
Part of the generic device API.