- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxsymbol.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 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_SYMBOL_H_
    00014 #define _FBXSDK_CORE_SYMBOL_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/core/base/fbxstring.h>
    00019 #include <fbxsdk/core/base/fbxmap.h>
    00020
    00021 #include <fbxsdk/fbxsdk_nsbegin.h>
    00022
    00025 class FBXSDK_DLL FbxSymbol
    00026 {
    00027 public:
    00032
    00038     FbxSymbol(char const* pName, char const* pRealm);
    00039
    00041     ~FbxSymbol();
    00043
    00052     unsigned int GetID() const;
    00054
    00062     bool operator==(FbxSymbol const& pSymbol) const;
    00063
    00067     bool operator!=(FbxSymbol const& pSymbol) const;
    00069
    00070 private:
    00071     unsigned int mID;
    00072 };
    00073
    00074 typedef FbxMap< FbxString, int, FbxStringCompare > FbxStringSymbolMap;
    00075
    00076
    00081 class FBXSDK_DLL FbxStringSymbol
    00082 {
    00083 public:
    00088
    00090     FbxStringSymbol();
    00091
    00096     FbxStringSymbol(const char* pName);
    00097
    00099     FbxStringSymbol(const FbxStringSymbol& pOther);
    00100
    00102     ~FbxStringSymbol();
    00104
    00106     inline operator const char*() const { return mItem ? ((const char*) mItem->GetKey()) : NULL; }
    00107
    00108
    00112     inline bool IsEmpty() const
    00113     {
    00114         return !mItem || mItem->GetKey().IsEmpty();
    00115     }
    00116
    00118     static void AllocateGlobalStringSymbolMap();
    00119
    00121     static void FreeGlobalStringSymbolMap();
    00122
    00127     FbxStringSymbol& operator=(const char* pName);
    00128
    00129 private:
    00130     FbxStringSymbolMap::RecordType* mItem;
    00131 };
    00132
    00133 #include <fbxsdk/fbxsdk_nsend.h>
    00134
    00135 #endif /* _FBXSDK_CORE_SYMBOL_H_ */