ezEngine  Milestone 7
Tag.h
1 
2 #pragma once
3 
4 #include <Foundation/Strings/HashedString.h>
5 
6 typedef ezUInt64 ezTagSetBlockStorage;
7 
15 class EZ_FOUNDATION_DLL ezTag
16 {
17 public:
18 
19  EZ_FORCE_INLINE ezTag();
20 
21  EZ_FORCE_INLINE bool operator == (const ezTag& rhs) const; // [tested]
22 
23  EZ_FORCE_INLINE bool operator != (const ezTag& rhs) const; // [tested]
24 
25  EZ_FORCE_INLINE bool operator < (const ezTag& rhs) const;
26 
27  EZ_FORCE_INLINE const ezString& GetTagString() const; // [tested]
28 
29  EZ_FORCE_INLINE ezUInt32 GetTagHash() const; // [tested]
30 
31  EZ_FORCE_INLINE bool IsValid() const; // [tested]
32 
33 private:
34 
35  template<typename BlockStorageAllocator> friend class ezTagSetTemplate;
36  friend class ezTagRegistry;
37 
38  ezHashedString m_TagString;
39 
40  ezUInt32 m_uiBitIndex;
41  ezUInt32 m_uiBlockIndex;
42 
44  ezTagSetBlockStorage m_uiPreshiftedBit;
45 };
46 
47 #include <Foundation/Types/TagSet.h>
48 
49 #include <Foundation/Types/Implementation/Tag_inl.h>