IOLink C# 1.11.0
Loading...
Searching...
No Matches
IOLink.RandomAccessCapabilitySet Class Reference

Template class to handle a flags system from an enum. More...

Inheritance diagram for IOLink.RandomAccessCapabilitySet:

Public Member Functions

 RandomAccessCapabilitySet (global::System.IntPtr cPtr, bool cMemoryOwn)
 
void Dispose ()
 
 RandomAccessCapabilitySet ()
 Initialize with no flags set.
 
 RandomAccessCapabilitySet (ulong value)
 Initialize from a value.
 
 RandomAccessCapabilitySet (RandomAccessCapability flags)
 Initialize from a value from the wrapped enum type.
 
 RandomAccessCapabilitySet (RandomAccessCapabilitySet other)
 
ulong Value ()
 Return the internal value.
 
bool Has (RandomAccessCapabilitySet flags)
 Check if a given set of flags is true.
 
void Add (RandomAccessCapabilitySet flags)
 Set the given set of flags to true.
 
void Remove (RandomAccessCapabilitySet flags)
 Set the given set of flags to false.
 

Static Public Member Functions

static global::System.Runtime.InteropServices.HandleRef getCPtr (RandomAccessCapabilitySet obj)
 
static global::System.Runtime.InteropServices.HandleRef swigRelease (RandomAccessCapabilitySet obj)
 
static implicit operator RandomAccessCapabilitySet (RandomAccessCapability flag)
 

Protected Member Functions

virtual void Dispose (bool disposing)
 

Protected Attributes

bool swigCMemOwn
 

Detailed Description

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
EnumTypeThe enum to wrap.

The documentation for this class was generated from the following file: