52
52
* @ingroup giommEnums
53
* @par Bitwise operators:
54
* <tt>%DriveStartFlags operator|(DriveStartFlags, DriveStartFlags)</tt><br>
55
* <tt>%DriveStartFlags operator&(DriveStartFlags, DriveStartFlags)</tt><br>
56
* <tt>%DriveStartFlags operator^(DriveStartFlags, DriveStartFlags)</tt><br>
57
* <tt>%DriveStartFlags operator~(DriveStartFlags)</tt><br>
58
* <tt>%DriveStartFlags& operator|=(DriveStartFlags&, DriveStartFlags)</tt><br>
59
* <tt>%DriveStartFlags& operator&=(DriveStartFlags&, DriveStartFlags)</tt><br>
60
* <tt>%DriveStartFlags& operator^=(DriveStartFlags&, DriveStartFlags)</tt><br>
54
62
enum DriveStartFlags
64
DRIVE_START_NONE = 0x0
67
/** @ingroup giommEnums */
68
inline DriveStartFlags operator|(DriveStartFlags lhs, DriveStartFlags rhs)
69
{ return static_cast<DriveStartFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
71
/** @ingroup giommEnums */
72
inline DriveStartFlags operator&(DriveStartFlags lhs, DriveStartFlags rhs)
73
{ return static_cast<DriveStartFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
75
/** @ingroup giommEnums */
76
inline DriveStartFlags operator^(DriveStartFlags lhs, DriveStartFlags rhs)
77
{ return static_cast<DriveStartFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
79
/** @ingroup giommEnums */
80
inline DriveStartFlags operator~(DriveStartFlags flags)
81
{ return static_cast<DriveStartFlags>(~static_cast<unsigned>(flags)); }
83
/** @ingroup giommEnums */
84
inline DriveStartFlags& operator|=(DriveStartFlags& lhs, DriveStartFlags rhs)
85
{ return (lhs = static_cast<DriveStartFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
87
/** @ingroup giommEnums */
88
inline DriveStartFlags& operator&=(DriveStartFlags& lhs, DriveStartFlags rhs)
89
{ return (lhs = static_cast<DriveStartFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
91
/** @ingroup giommEnums */
92
inline DriveStartFlags& operator^=(DriveStartFlags& lhs, DriveStartFlags rhs)
93
{ return (lhs = static_cast<DriveStartFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }