fbxsdk/core/base/fbxbitset.h Source File
 
 
 
fbxsdk/core/base/fbxbitset.h
Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2013 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_CORE_BASE_BITSET_H_
00014 #define _FBXSDK_CORE_BASE_BITSET_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/fbxsdk_nsbegin.h>
00019 
00027 class FBXSDK_DLL FbxBitSet
00028 {
00029 public:
00033         FbxBitSet(const FbxUInt pInitialSize=0);
00034 
00036         virtual ~FbxBitSet();
00037 
00041         void SetBit(const FbxUInt pBitIndex);
00042 
00046         void SetAllBits(const bool pValue);
00047 
00051         void UnsetBit(const FbxUInt pBitIndex);
00052 
00057         bool GetBit(const FbxUInt pBitIndex) const;
00058 
00062         FbxUInt GetFirstSetBitIndex() const;
00063 
00067         FbxUInt GetLastSetBitIndex() const;
00068 
00073         FbxUInt GetNextSetBitIndex(const FbxUInt pBitIndex) const;
00074 
00079         FbxUInt GetPreviousSetBitIndex(const FbxUInt pBitIndex) const;
00080 
00081 private:
00082         void Grow(const FbxUInt pNewSize);
00083 
00084         void* mData;
00085         FbxUInt mSize;
00086 };
00087 
00088 #include <fbxsdk/fbxsdk_nsend.h>
00089 
00090 #endif /* _FBXSDK_CORE_BASE_BITSET_H_ */