author | Jose Thachil<jose.thachil@cell-telecom.com> |
Wed, 12 May 2010 13:05:33 +0100 | |
branch | EGL_MERGE |
changeset 59 | 0fb7b31791c3 |
parent 57 | 2bf8a359aa2f |
permissions | -rw-r--r-- |
57
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
1 |
#ifndef __RIARRAY_H |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
2 |
#define __RIARRAY_H |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
3 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
4 |
/*------------------------------------------------------------------------ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
5 |
* |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
6 |
* OpenVG 1.1 Reference Implementation |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
7 |
* ----------------------------------- |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
8 |
* |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
9 |
* Copyright (c) 2007 The Khronos Group Inc. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
10 |
* |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
11 |
* Permission is hereby granted, free of charge, to any person obtaining a |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
12 |
* copy of this software and /or associated documentation files |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
13 |
* (the "Materials "), to deal in the Materials without restriction, |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
14 |
* including without limitation the rights to use, copy, modify, merge, |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
15 |
* publish, distribute, sublicense, and/or sell copies of the Materials, |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
16 |
* and to permit persons to whom the Materials are furnished to do so, |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
17 |
* subject to the following conditions: |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
18 |
* |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
19 |
* The above copyright notice and this permission notice shall be included |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
20 |
* in all copies or substantial portions of the Materials. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
21 |
* |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
22 |
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
23 |
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
24 |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
25 |
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
26 |
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
27 |
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
28 |
* THE USE OR OTHER DEALINGS IN THE MATERIALS. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
29 |
* |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
30 |
*//** |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
31 |
* \file |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
32 |
* \brief Array class. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
33 |
* \note |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
34 |
*//*-------------------------------------------------------------------*/ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
35 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
36 |
#ifndef __RIDEFS_H |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
37 |
#include "riDefs.h" |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
38 |
#endif |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
39 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
40 |
#include <string.h> //for memcpy |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
41 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
42 |
namespace OpenVGRI |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
43 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
44 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
45 |
//======================================================================= |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
46 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
47 |
/*-------------------------------------------------------------------*//*! |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
48 |
* \brief An array class similar to std::vector. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
49 |
* \param |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
50 |
* \return |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
51 |
* \note Follows std::vector's naming convention (except resizeAndReallocate). |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
52 |
*//*-------------------------------------------------------------------*/ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
53 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
54 |
template <class Item> class Array |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
55 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
56 |
public: |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
57 |
Array() : m_array(NULL), m_size(0), m_allocated(0) {} //throws bad_alloc |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
58 |
~Array() |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
59 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
60 |
RI_DELETE_ARRAY(m_array); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
61 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
62 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
63 |
void swap(Array& s) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
64 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
65 |
Item* tarray = m_array; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
66 |
m_array = s.m_array; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
67 |
s.m_array = tarray; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
68 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
69 |
int tsize = m_size; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
70 |
m_size = s.m_size; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
71 |
s.m_size = tsize; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
72 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
73 |
int tallocated = m_allocated; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
74 |
m_allocated = s.m_allocated; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
75 |
s.m_allocated = tallocated; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
76 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
77 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
78 |
//if more room is needed, reallocate, otherwise return |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
79 |
void reserve( int items ) //throws bad_alloc |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
80 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
81 |
RI_ASSERT( items >= 0 ); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
82 |
if( items <= m_allocated ) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
83 |
return; //if there is room already, return |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
84 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
85 |
RI_ASSERT( items > m_allocated ); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
86 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
87 |
Item* newa = RI_NEW_ARRAY(Item, items); //throws bad_alloc if runs out of memory |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
88 |
for(int i=0;i<m_size;i++) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
89 |
newa[i] = m_array[i]; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
90 |
RI_DELETE_ARRAY(m_array); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
91 |
m_array = newa; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
92 |
m_allocated = items; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
93 |
//doesn't change size |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
94 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
95 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
96 |
//reserve and change size |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
97 |
void resize( int items ) //throws bad_alloc |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
98 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
99 |
reserve( items ); //throws bad_alloc if runs out of memory |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
100 |
m_size = items; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
101 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
102 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
103 |
//resize and allocate exactly the correct amount of memory |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
104 |
void resizeAndReallocate( int items ) //throws bad_alloc |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
105 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
106 |
RI_ASSERT( items >= 0 ); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
107 |
if( items == m_allocated ) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
108 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
109 |
m_size = items; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
110 |
return; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
111 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
112 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
113 |
if( items == 0 ) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
114 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
115 |
RI_DELETE_ARRAY(m_array); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
116 |
m_size = 0; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
117 |
m_allocated = 0; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
118 |
return; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
119 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
120 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
121 |
Item* newa = RI_NEW_ARRAY(Item, items); //throws bad_alloc if runs out of memory |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
122 |
int copySize = (m_size < items) ? m_size : items; //min(m_size,items) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
123 |
for(int i=0;i<copySize;i++) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
124 |
newa[i] = m_array[i]; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
125 |
RI_DELETE_ARRAY(m_array); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
126 |
m_array = newa; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
127 |
m_allocated = items; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
128 |
m_size = items; //changes also size |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
129 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
130 |
void clear() |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
131 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
132 |
m_size = 0; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
133 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
134 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
135 |
//sort array (needs operator< defined for Item. Define it with < for increasing order and > for decreasing.) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
136 |
void sort() |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
137 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
138 |
if(m_size <= 1) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
139 |
return; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
140 |
quicksort(0, m_size - 1); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
141 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
142 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
143 |
//remove the first occurrence of an item from the array |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
144 |
bool remove(const Item& item) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
145 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
146 |
int i=0; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
147 |
for(;i<m_size;i++) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
148 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
149 |
if(m_array[i] == item) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
150 |
break; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
151 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
152 |
if(i >= m_size) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
153 |
return false; //not found |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
154 |
for(;i<m_size-1;i++) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
155 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
156 |
m_array[i] = m_array[i+1]; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
157 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
158 |
m_size--; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
159 |
return true; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
160 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
161 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
162 |
RI_INLINE void push_back( const Item& item ) //throws bad_alloc |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
163 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
164 |
if( m_size >= m_allocated ) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
165 |
reserve( (!m_allocated) ? 8 : m_allocated * 2 ); //by default, reserve 8. throws bad_alloc if runs out of memory |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
166 |
m_array[m_size++] = item; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
167 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
168 |
RI_INLINE int size() const { return m_size; } |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
169 |
RI_INLINE Item& operator[](int i) { RI_ASSERT(i >= 0 && i < m_size); return m_array[i]; } |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
170 |
RI_INLINE const Item& operator[](int i) const { RI_ASSERT(i >= 0 && i < m_size); return m_array[i]; } |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
171 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
172 |
private: |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
173 |
Array(const Array& s); //!< Not allowed. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
174 |
void operator=(const Array& s); //!< Not allowed. |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
175 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
176 |
void quicksort(int left, int right) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
177 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
178 |
int i = left, j = right; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
179 |
Item x = m_array[(left+right)>>1]; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
180 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
181 |
do |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
182 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
183 |
while (m_array[i] < x) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
184 |
i++; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
185 |
while (x < m_array[j]) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
186 |
j--; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
187 |
if (i<=j) |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
188 |
{ |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
189 |
Item tmp = m_array[i]; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
190 |
m_array[i] = m_array[j]; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
191 |
m_array[j] = tmp; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
192 |
i++; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
193 |
j--; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
194 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
195 |
} while (i<=j); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
196 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
197 |
if(left < j) quicksort(left, j); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
198 |
if(i < right) quicksort(i, right); |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
199 |
} |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
200 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
201 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
202 |
Item* m_array; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
203 |
int m_size; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
204 |
int m_allocated; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
205 |
}; |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
206 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
207 |
//======================================================================= |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
208 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
209 |
} //namespace OpenVGRI |
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
210 |
|
2bf8a359aa2f
Create EGL 1.4 implementation by merging eglrefimpl and EGL from sfopenvg
Jose Thachil<jose.thachil@cell-telecom.com>
parents:
diff
changeset
|
211 |
#endif /* __RIARRAY_H */ |