|
|
| MultiImageCapabilitySet (global::System.IntPtr cPtr, bool cMemoryOwn) |
| |
|
void | Dispose () |
| |
|
| MultiImageCapabilitySet () |
| | Initialize with no flags set.
|
| |
|
| MultiImageCapabilitySet (ulong value) |
| | Initialize from a value.
|
| |
|
| MultiImageCapabilitySet (MultiImageCapability flags) |
| | Initialize from a value from the wrapped enum type.
|
| |
|
| MultiImageCapabilitySet (MultiImageCapabilitySet other) |
| |
|
ulong | Value () |
| | Return the internal value.
|
| |
|
bool | Has (MultiImageCapabilitySet flags) |
| | Check if a given set of flags is true.
|
| |
|
void | Add (MultiImageCapabilitySet flags) |
| | Set the given set of flags to true.
|
| |
|
void | Remove (MultiImageCapabilitySet flags) |
| | Set the given set of flags to false.
|
| |
Template class to handle a flags system from an enum.
The wrapped enum must have the values set to follow a flags logic, flags values must be multiples of two. The enum can also have shorcut values that combines multiple basic values.
Setup:
.. code-block:: c++ // our enum to wrap enum class TestEnum { Value1 = 0x1, // basic value: 001 Value2 = 0x2, // basic value: 010 Value3 = 0x4, // basic value: 100 // Value1 and Value2 Combo1 = 0x3, // shortcut value: 011 // Value1 and Value3 Combo2 = 0x5, // shortcut value: 101 }; // defines bitwise operators on enum IOLINK_DEFINE_ENUM_BITWISE_OPERATORS(TestEnum) // alias on template type using TestFlagSet = FlagSet<EnumType>;
- Parameters
-
| EnumType | The enum to wrap. |