Changeset 48264 in webkit for trunk/JavaScriptCore/wtf
- Timestamp:
- Sep 10, 2009, 1:01:57 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/PtrAndFlags.h
r46879 r48264 35 35 36 36 namespace WTF { 37 template<class T, typename FlagEnum> class PtrAndFlags {37 template<class T, typename FlagEnum> class PtrAndFlagsBase { 38 38 public: 39 PtrAndFlags() : m_ptrAndFlags(0) {}40 PtrAndFlags(T* ptr) : m_ptrAndFlags(0) { set(ptr); }41 42 39 bool isFlagSet(FlagEnum flagNumber) const { ASSERT(flagNumber < 2); return m_ptrAndFlags & (1 << flagNumber); } 43 40 void setFlag(FlagEnum flagNumber) { ASSERT(flagNumber < 2); m_ptrAndFlags |= (1 << flagNumber);} … … 56 53 T* operator->() const { return reinterpret_cast<T*>(m_ptrAndFlags & ~3); } 57 54 58 pr ivate:55 protected: 59 56 intptr_t m_ptrAndFlags; 60 57 #ifndef NDEBUG … … 62 59 #endif 63 60 }; 61 62 template<class T, typename FlagEnum> class PtrAndFlags : public PtrAndFlagsBase<T, FlagEnum> { 63 public: 64 PtrAndFlags() 65 { 66 PtrAndFlagsBase<T, FlagEnum>::m_ptrAndFlags = 0; 67 } 68 PtrAndFlags(T* ptr) 69 { 70 PtrAndFlagsBase<T, FlagEnum>::m_ptrAndFlags = 0; 71 set(ptr); 72 } 73 }; 64 74 } // namespace WTF 65 75 76 using WTF::PtrAndFlagsBase; 66 77 using WTF::PtrAndFlags; 67 78
Note:
See TracChangeset
for help on using the changeset viewer.