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

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

Inheritance diagram for IOLink.DataFrameCapabilitySet:

Public Member Functions

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

Static Public Member Functions

static global::System.Runtime.InteropServices.HandleRef getCPtr (DataFrameCapabilitySet obj)
 
static global::System.Runtime.InteropServices.HandleRef swigRelease (DataFrameCapabilitySet obj)
 
static implicit operator DataFrameCapabilitySet (DataFrameCapability 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: