32 #ifndef __MO_ARRAYH_H__
33 #define __MO_ARRAYH_H__
37 template <
class T,
int N>
54 void Set(
int x, T value) {
85 Init( src.n, src.m_NULL );
86 for(
MOuint i=0; i< src.n; i++) {
87 array[i] = src.array[i];
114 for(
MOuint i=0; i<n; i++) array[i] = initvalue;
119 return (array!=NULL);
128 if ( array != NULL ) {
145 void Set(
int x,
const T &value) {
147 if ( 0<=x && x<(
MOint)n && array!=NULL) array[x]=value;
151 const T&
Get(
int x)
const {
153 if ( 0<=x && x<(
MOint)n && array!=NULL) {
157 }
else return m_NULL;
161 if ( 0<=x && x<(
MOint)n && array!=NULL) {
165 }
else return m_NULL;
172 void Add(
const T &value ) {
177 arrayaux =
new T [n+1];
179 for( i=0 ; i < n ; i++ ) {
180 arrayaux[i] = array[i];
195 if ( 0<=x && x<(
MOint)n && array!=NULL) {
198 arrayaux =
new T [n-1];
199 }
else arrayaux = NULL;
201 for( i=0, j=0; j < (n-1); i++, j++) {
202 if ( x == (
int)i ) i++;
203 arrayaux[j] = array[i];
219 for(
int i=x0; i<= x1; i++) {
240 #define _moDeclareDynamicArray( T, name, classexp) \
245 name(const name& src); \
247 name& operator=(const name& src); \
251 MOboolean Init( int N, T initvalue ); \
252 MOboolean Finish(); \
254 void Set(int x, const T &value); \
255 void Insert(int x, const T &value); \
256 const T& Get(int x) const; \
259 T& operator[] (int x); \
260 MOuint Count() const; \
261 void Add( const T &value ); \
262 void Remove(int x); \
263 void Copy( const name &A); \
264 void Copy( const name &A, int x0, int x1); \
275 #define moDeclareDynamicArray(T, name) \
276 moDeclareDynamicArrayDecl(T, name, class )
278 #define moDeclareExportedDynamicArray(T, name) \
279 moDeclareUserExportedDynamicArray(T, name, LIBMOLDEO_API)
282 #define moDeclareDynamicArrayDecl(T, name, decl) \
283 typedef T _moObjArray##name; \
284 _moDeclareDynamicArray(_moObjArray##name, name, decl)
286 #define moDeclareUserExportedDynamicArray(T, name, expmode) \
287 moDeclareDynamicArrayDecl(T, name, class expmode)
294 #define moDefineDynamicArray(name) DidYouIncludeArrayCpp
295 #define moDefineExportedDynamicArray(name) moDefineDynamicArray(name)
296 #define moDefineUserExportedDynamicArray(name) moDefineDynamicArray(name)
moDynamicArray & operator=(const moDynamicArray &src)
void Copy(moDynamicArray &A)
virtual ~moDynamicArray()
moDynamicArray(const moDynamicArray &src)
MOboolean Init(int N, T initvalue)
The Alpha (or transparency) of a color.
const T & Get(int x) const
void Copy(moDynamicArray &A, int x0, int x1)
void Set(int x, const T &value)