00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef INC_MI32_MIDBLARY_H
00026 #define INC_MI32_MIDBLARY_H
00027
00028 #ifndef INC_MI32_STDDEFNS_H
00029 #include <mi32/stddefns.h>
00030 #endif
00031
00032 #ifdef MIODLL
00033 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00034 #ifdef MAC_NATIVE
00035 #pragma export on
00036 #endif
00037 #else
00038 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00039 #endif
00040
00041
00042
00043
00044
00045
00046 class CLASSLIBEXPORT MIDOUBLEARRAY {
00047 public:
00048
00049
00050
00051
00052 MIDOUBLEARRAY (
00053 );
00054
00055
00056 MIDOUBLEARRAY (
00057 const MIDOUBLEARRAY& rhs
00058 );
00059
00060
00061 ~MIDOUBLEARRAY (
00062 );
00063
00064
00065
00066
00067 MIDOUBLEARRAY& operator= (
00068 const MIDOUBLEARRAY& rhs
00069 );
00070
00071
00072
00073
00074 void Attach (
00075 MIDOUBLEARRAY& rhs
00076 );
00077
00078
00079 void Free (
00080 );
00081
00082
00083
00084
00085
00086 double* GetPointer (
00087 );
00088
00089
00090
00091
00092 int GetNumReserved (
00093 ) const;
00094
00095
00096 ERRVALUE Reserve (
00097 INT32 NewSize,
00098 bool keepold = false
00099 );
00100
00101
00102 void ReserveExc (
00103 INT32 NewSize,
00104 bool keepold = false
00105 );
00106
00107
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
00120 void Allocate (
00121 int NewSize
00122 );
00123
00124 ERRVALUE AllocateWithErr (
00125 int NewSize
00126 );
00127 #endif // GENERATING_DOXYGEN_OUTPUT
00128
00129 };
00130
00131 #if defined(MIODLL) && defined(MAC_NATIVE)
00132 #pragma export reset
00133 #endif
00134
00135 #endif
00136