xsi_longarray.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSILONGARRAY_H__
00018 #define __XSILONGARRAY_H__
00019 
00020 #include "sicppsdk.h"
00021 
00022 
00023 namespace XSI {
00024 
00025 class CStatus;
00026 class CString;
00027 
00028 //*************************************************************************
00044 //*************************************************************************
00045 class SICPPSDKDECL CLongArray
00046 {
00047 public:
00051     CLongArray( LONG in_size=0);
00052 
00056     CLongArray(const CLongArray& in_array);
00057 
00059     ~CLongArray();
00060 
00065     CLongArray& operator=( const CLongArray& in_array );
00066 
00073     CLongArray& operator+=( const CLongArray& in_array );
00074 
00081     CLongArray& operator-=( const CLongArray& in_array );
00082 
00086     LONG GetCount() const;
00087 
00103     CStatus Attach( LONG* in_pArray, LONG in_nSize );
00104 
00112     CStatus Add( const LONG& in_item );
00113 
00117     CStatus Clear();
00118 
00132     CStatus Resize( LONG in_size );
00133 
00147     CStatus Resize( LONG in_size, bool in_bReset );
00148 
00155     const LONG& operator[](LONG in_index ) const;
00156 
00162     LONG& operator[](LONG in_index );
00163 
00169     bool operator==(const CLongArray& in_array) const;
00170 
00176     bool operator!=(const CLongArray& in_array) const;
00177 
00182     CString GetAsText() const;
00183 
00189     const LONG* GetArray() const;
00190 
00197     CStatus Append( const CLongArray& in_array );
00198 
00199 private:
00200 
00201     void* m_ptr;
00202 };
00203 
00204 };
00205 
00206 #endif // __XSILONGARRAY_H__