#ifndef _selectionset_utils_h_ #define _selectionset_utils_h_ //////////////////////////////////////////////////////////////////////////////// // declare flag macro //////////////////////////////////////////////////////////////////////////////// #ifndef SET_DECLARE_FLAGS #define SET_DECLARE_FLAGS(m_Flags) \ public: \ DWORD m_Flags; \ DWORD ModifyFlags(DWORD iAdded,DWORD iRemoved=0) \ { \ m_Flags&=~iRemoved; \ m_Flags|=iAdded; \ return m_Flags; \ } \ DWORD HasFlags(DWORD iFlags) \ { \ return m_Flags & iFlags; \ } \ DWORD HasFullFlags(DWORD iFlags) \ { \ return (m_Flags & iFlags)==iFlags; \ } \ DWORD SetFlags(DWORD iFlags) \ { \ m_Flags = iFlags; \ return m_Flags; \ } \ DWORD GetFlags() \ { \ return m_Flags; \ } \ #endif #endif