fbxsdk/core/base/fbxbitset.h Source File

fbxbitset.h
Go to the documentation of this file.
1 /****************************************************************************************
2 
3  Copyright (C) 2015 Autodesk, Inc.
4  All rights reserved.
5 
6  Use of this software is subject to the terms of the Autodesk license agreement
7  provided at the time of installation or download, or which otherwise accompanies
8  this software in either electronic or hard copy form.
9 
10 ****************************************************************************************/
11 
13 #ifndef _FBXSDK_CORE_BASE_BITSET_H_
14 #define _FBXSDK_CORE_BASE_BITSET_H_
15 
16 #include <fbxsdk/fbxsdk_def.h>
17 
18 #include <fbxsdk/fbxsdk_nsbegin.h>
19 
28 {
29 public:
33  FbxBitSet(const FbxUInt pInitialSize=0);
34 
36  virtual ~FbxBitSet();
37 
41  void SetBit(const FbxUInt pBitIndex);
42 
46  void SetAllBits(const bool pValue);
47 
51  void UnsetBit(const FbxUInt pBitIndex);
52 
57  bool GetBit(const FbxUInt pBitIndex) const;
58 
62  FbxUInt GetFirstSetBitIndex() const;
63 
67  FbxUInt GetLastSetBitIndex() const;
68 
73  FbxUInt GetNextSetBitIndex(const FbxUInt pBitIndex) const;
74 
79  FbxUInt GetPreviousSetBitIndex(const FbxUInt pBitIndex) const;
80 
81 private:
82  void Grow(const FbxUInt pNewSize);
83 
84  void* mData;
85  FbxUInt mSize;
86 };
87 
88 #include <fbxsdk/fbxsdk_nsend.h>
89 
90 #endif /* _FBXSDK_CORE_BASE_BITSET_H_ */
unsigned int FbxUInt
Definition: fbxtypes.h:40
FBX SDK environment definition.
#define FBXSDK_DLL
Definition: fbxarch.h:173
An automatic growing array of bit.
Definition: fbxbitset.h:27