Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_CORE_BASE_CHARPTRSET_H_
00014 #define _FBXSDK_CORE_BASE_CHARPTRSET_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/fbxsdk_nsbegin.h>
00019
00022 class FBXSDK_DLL FbxCharPtrSet
00023 {
00024 public:
00027 FbxCharPtrSet(int pItemPerBlock=20);
00028
00030 ~FbxCharPtrSet();
00031
00035 void Add(const char* pReference, FbxHandle pItem);
00036
00040 bool Remove(const char* pReference);
00041
00046 FbxHandle Get(const char* pReference, int* PIndex=NULL);
00047
00051 FbxHandle& operator[](int pIndex);
00052
00057 FbxHandle GetFromIndex(int pIndex, const char** pReference=NULL);
00058
00061 void RemoveFromIndex(int pIndex);
00062
00065 inline int GetCount() const { return mCharPtrSetCount; }
00066
00068 void Sort();
00069
00071 void Clear();
00072
00073
00074
00075
00076 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00077 struct CharPtrSet;
00078
00079 inline void SetCaseSensitive(bool pIsCaseSensitive){ mIsCaseSensitive = pIsCaseSensitive; }
00080
00081 private:
00082 CharPtrSet* FindEqual(const char* pReference) const;
00083
00084 CharPtrSet* mCharPtrSetArray;
00085 int mCharPtrSetCount;
00086 int mBlockCount;
00087 int mItemPerBlock;
00088 bool mIsChanged;
00089 bool mIsCaseSensitive;
00090 #endif
00091 };
00092
00093 #include <fbxsdk/fbxsdk_nsend.h>
00094
00095 #endif