7template <
class EENUM, EENUM edefault >
16 const static EENUM m_edefault = edefault;
19 base_enum(
const base_enum < EENUM, edefault> & evalue);
20 base_enum(
const wparam & wparam) :m_evalue((EENUM)wparam.m_wparam){}
21 base_enum(::i64 i) :m_evalue((EENUM)i) {}
22 base_enum(EENUM evalue);
26 void DefaultConstruct();
28 const base_enum <EENUM, edefault> & operator = (::i32 i) {
return operator =((EENUM)i); }
29 const base_enum <EENUM, edefault> & operator = (::i64 i) {
return operator =((EENUM)i); }
30 const base_enum <EENUM, edefault> & operator = (
const wparam & wparam) {
return operator =((EENUM) wparam.m_wparam); }
32 const base_enum <EENUM, edefault> & operator = (EENUM evalue);
33 const base_enum <EENUM, edefault> & operator &= (EENUM evalue);
34 const base_enum <EENUM, edefault> & operator |= (EENUM evalue);
36 const base_enum <EENUM, edefault> & operator = (
const base_enum < EENUM, edefault> & evalue);
37 const base_enum <EENUM, edefault> & operator &= (
const base_enum < EENUM, edefault> & evalue);
38 const base_enum <EENUM, edefault> & operator |= (
const base_enum < EENUM, edefault> & evalue);
40 bool operator == (
const base_enum < EENUM, edefault> & evalue)
const;
41 bool operator == (EENUM evalue)
const;
43 base_enum & operator ++ (::i32) { m_evalue = (EENUM)(((::i32)m_evalue) + 1);
return *
this; }
45 operator EENUM()
const;
52template <
class EENUM, EENUM edefault>
53base_enum<EENUM, edefault>::base_enum()
58template <
class EENUM, EENUM edefault>
59base_enum<EENUM, edefault>::base_enum(
const base_enum < EENUM, edefault> & evalue)
64template <
class EENUM, EENUM edefault>
65base_enum<EENUM, edefault>::base_enum(EENUM evalue)
70template <
class EENUM, EENUM edefault>
71base_enum<EENUM, edefault>::base_enum(::i32 i)
76template <
class EENUM, EENUM edefault>
77base_enum<EENUM, edefault>::~base_enum()
81template <
class EENUM, EENUM edefault>
82void base_enum<EENUM, edefault>::DefaultConstruct()
87template <
class EENUM, EENUM edefault>
94template <
class EENUM, EENUM edefault>
97 m_evalue = (EENUM) (m_evalue & evalue);
101template <
class EENUM, EENUM edefault>
104 m_evalue = (EENUM) (m_evalue | evalue);
108template <
class EENUM, EENUM edefault>
111 m_evalue = evalue.m_evalue;
115template <
class EENUM, EENUM edefault>
118 m_evalue = (EENUM) (m_evalue & evalue.m_evalue);
122template <
class EENUM, EENUM edefault>
125 m_evalue = (EENUM)(m_evalue | evalue.m_evalue);
129template <
class EENUM, EENUM edefault>
132 return m_evalue == evalue.m_evalue;
135template <
class EENUM, EENUM edefault>
138 return m_evalue == evalue;
141template <
class EENUM, EENUM edefault>
Definition base_enum.h:24