xsi_bitarray.h Source File
 
 
 
xsi_bitarray.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 __XSIBITARRAY_H__
00018 #define __XSIBITARRAY_H__
00019 
00020 #include "sicppsdk.h"
00021 
00022 namespace XSI {
00023 
00024 class CBoolArray;
00025 class CStatus;
00026 
00027 //*****************************************************************************
00055 //*****************************************************************************
00056 
00057 class SICPPSDKDECL CBitArray
00058 {
00059 public:
00061         ~CBitArray();
00062 
00067         CBitArray( LONG in_size = 0 );
00068 
00072         CBitArray(const CBitArray& in_str);
00073 
00077         CBitArray(const CBoolArray& in_boolArray);
00078 
00084         CBitArray& operator=(const CBitArray& in_array) ;
00085 
00090         bool operator==(const CBitArray& in_array) const;
00091 
00096         bool operator!=(const CBitArray& in_array) const;
00097 
00104         const bool operator[]( LONG in_pos ) const;
00105 
00110         bool operator [] (LONG in_pos);
00111 
00116         CStatus Add( const bool& in_bVal );
00117 
00124         CStatus Set(LONG in_pos, bool in_bVal);
00125 
00130         CStatus SetAll(bool in_bVal);
00131 
00139         CStatus Resize( LONG in_size, bool in_bVal = false );
00140 
00144         CStatus Clear();
00145 
00149         LONG GetCount() const ;
00150 
00154         LONG GetTrueCount() const ;
00155 
00159         bool IsAny() const ;
00160 
00169         CBitArray& And( const CBitArray& in_array );
00170 
00179         CBitArray& Or( const CBitArray& in_array );
00180 
00189         CBitArray& XOr( const CBitArray& in_array );
00190 
00194         CBitArray& FlipAll();
00195 
00200         bool Flip(LONG in_pos);
00201 
00208         LONG GetIterator( LONG in_pos = 0 ) const;
00209 
00247         bool GetNextTrueBit( LONG& in_Iterator) const;
00248 
00287         bool GetNextFalseBit( LONG& in_Iterator) const;
00288 
00289 private:
00290         void * m_pImpl ;
00291 };
00292 
00293 };
00294 
00295 #endif // __XSIBITARRAY_H__