00001
00029 #ifndef INC_MI32_MIDBLARY_H
00030 #define INC_MI32_MIDBLARY_H
00031
00032 #ifndef INC_MI32_STDDEFNS_H
00033 #include <mi32/stddefns.h>
00034 #endif
00035
00036 #ifdef MISYSTEMDLL
00037 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00038 #else
00039 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00040 #endif
00041
00046
00047 class CLASSLIBEXPORT MIDOUBLEARRAY {
00048 public:
00049
00051 MIDOUBLEARRAY (
00052 );
00053
00055 MIDOUBLEARRAY (
00056 const MIDOUBLEARRAY& rhs
00057 );
00058
00060 ~MIDOUBLEARRAY (
00061 );
00062
00064 MIDOUBLEARRAY& operator= (
00065 const MIDOUBLEARRAY& rhs
00066 );
00067
00069 void Attach (
00070 MIDOUBLEARRAY& rhs
00071 );
00072
00074 void Free (
00075 );
00076
00079 const double* GetPointer (
00080 ) const { return (m_items); }
00081
00086 double* GetPointer (
00087 );
00088
00092 int GetNumReserved (
00093 ) const;
00094
00096 ERRVALUE Reserve (
00097 INT32 NewSize,
00098 bool keepold = false
00099 );
00100
00102 void ReserveExc (
00103 INT32 NewSize,
00104 bool keepold = false
00105 );
00106
00108 void Swap (
00109 MIDOUBLEARRAY& rhs
00110 );
00111
00112 private:
00113 #ifndef GENERATING_DOXYGEN_OUTPUT
00114
00115 double *m_items;
00116 void *m_buffer;
00117 int m_BufferSize;
00118
00119 void Allocate (
00120 int NewSize
00121 );
00122
00123 ERRVALUE AllocateWithErr (
00124 int NewSize
00125 );
00126 #endif // GENERATING_DOXYGEN_OUTPUT
00127
00128 };
00129
00130 #undef CLASSLIBEXPORT
00131
00132 #endif // INC_MI32_MIDBLARY_H
00133