Struct IUnionEntity#
Defined in File core_idl.h
Inheritance Relationships#
Derived Type#
public CUnionEntity
(Class CUnionEntity)
Struct Documentation#
-
struct IUnionEntity#
Union entity information interface.
Subclassed by CUnionEntity
Public Types
-
enum class ESwitchInterpret : uint32_t#
The interpretation of the switch case.
Values:
-
enumerator switch_variable#
The switch case is determined by a variable of the parent struct.
-
enumerator switch_type#
The switch case is determined by the value of a type.
-
enumerator switch_variable
The switch case is determined by a variable of the parent struct.
-
enumerator switch_variable
The switch case is determined by a variable of the parent struct.
-
enumerator switch_type
The switch case is determined by the value of a type.
-
enumerator switch_type
The switch case is determined by the value of a type.
-
enumerator switch_variable#
-
enum ESwitchInterpret
The interpretation of the switch case.
Values:
-
enumerator switch_variable
The switch case is determined by a variable of the parent struct.
-
enumerator switch_type
The switch case is determined by the value of a type.
-
enumerator switch_variable
Public Functions
-
virtual ESwitchInterpret GetSwitchInterpretation() const = 0#
Return the switch interpretation.
- Returns:
The interpretation of the switch case of this union.
-
virtual void GetSwitchType(EDeclType &reType, IInterfaceAccess *&rpType) const = 0#
Return type information for the switch case. If the switch case is type base, this is the type information that is used to select. If the switch case is variable based, this is the type of the variable.
- Parameters:
reType – [out] Reference to the declaration type (either enum or an integral type).
rpType – [out] Reference to the type entity if existing.
-
virtual void GetSwitchVar(sdv::u8string &rssVarStr, IInterfaceAccess *&rpVarEntity, IInterfaceAccess *&rpVarContainer) const = 0#
Get the switch variable information if the switch case is variable based. Will be empty/NULL when the switch case is type based.
- Parameters:
rssVarStr – [out] Reference to the string receiving the exact scoped declaration name of the switch variable if the interpretation is variable based. The variable name uses the scope separator ‘::’ to define the common parent definition and the member separator ‘.’ to define the variable declaration as member from the common parent.
rpVarEntity – [out] Reference to the variable entity if the interpretation is variable based.
rpVarContainer – [out] Reference to the variable entity of the container of both the switch variable and the union.
-
ESwitchInterpret GetSwitchInterpretation() const
Return the switch interpretation.
- Returns:
The interpretation of the switch case of this union.
- void GetSwitchType (out EDeclType reType, out IInterfaceAccess rpType) const
Return type information for the switch case. If the switch case is type base, this is the type information that is used to select. If the switch case is variable based, this is the type of the variable.
- Parameters:
reType – [out] Reference to the declaration type (either enum or an integral type).
rpType – [out] Reference to the type entity if existing.
- void GetSwitchVar (out u8string rssVarStr, out IInterfaceAccess rpVarEntity, out IInterfaceAccess rpVarContainer) const
Get the switch variable information if the switch case is variable based. Will be empty/NULL when the switch case is type based.
- Parameters:
rssVarStr – [out] Reference to the string receiving the exact scoped declaration name of the switch variable if the interpretation is variable based. The variable name uses the scope separator ‘::’ to define the common parent definition and the member separator ‘.’ to define the variable declaration as member from the common parent.
rpVarEntity – [out] Reference to the variable entity if the interpretation is variable based.
rpVarContainer – [out] Reference to the variable entity of the container of both the switch variable and the union.
Public Static Attributes
-
static ::sdv::interface_id _id = 0x23A3AFF91945A3B3#
Interface ID.
-
enum class ESwitchInterpret : uint32_t#