Class CEnumEntity#

Inheritance Relationships#

Base Types#

Class Documentation#

class CEnumEntity : public CDefinitionEntity, public sdv::idl::IEnumEntity#

The enum definition of an IDL file.

The enum section of the IDL file contains a list of enum value entries

Public Functions

CEnumEntity(const CContextPtr &rptrContext, CEntityPtr ptrParent)#

Default constructor.

Parameters:
  • rptrContext[in] Reference to the smart pointer holding the parse context. Must not be NULL.

  • ptrParent[in] Pointer to the parent class holding this entity. This must not be NULL.

virtual ~CEnumEntity() override = default#

Destructor.

virtual sdv::interface_t GetInterface(sdv::interface_id idInterface) override#

Get access to another interface. Overload of sdv::IInterfaceAccess::GetInterface.

Parameters:

idInterface[in] The interface id to get access to.

Returns:

Returns a pointer to the interface or NULL when the interface is not supported.

inline virtual sdv::idl::EEntityType GetType() const override#

Get the type of the entity. Overload of CEntity::GetType.

Returns:

Returns enum entity type.

virtual std::string GetDeclTypeStr(bool bResolveTypedef) const override#

Get the declaration type of the entity as string. Overload of CEntity::GetDeclTypeStr.

Parameters:

bResolveTypedef[in] When set, resolve the typedef type into the base type.

Returns:

Returns a string with enum type.

virtual void GetBaseType(sdv::idl::EDeclType &reType, sdv::IInterfaceAccess *&rpType) const override#

Get the enumerator base type. Overload of sdv::idl::IEnumEntity.

Parameters:
  • reType[out] Reference to the declaration type. The type if EEntityType::type_unknown if not available.

  • rpType[out] Reference to the interface pointer if the type is a complex type. Otherwise is NULL.

virtual void Process() override#

Process the code. Overload of CEntity::Process.

virtual void ProcessContent() override#

Process the content of the definition.

virtual void ProcessDefinitionAddendum() override#

Process the definition addendum (following the definition statement before the content definition).

inline sdv::idl::EDeclType GetEnumType() const#

Get the enum type.

Returns:

Returns the underlying enum type.

virtual bool Supports(EDefinitionSupport eSupport) const override#

Request whether the definition supports the content. Overload of CDefintionEntity::Supports.

Parameters:

eSupport[in] The type of support that is requested.

Returns:

Returns ‘true’ when the definition supports the content; ‘false’ otherwise.

inline virtual bool SupportsChildren() const override#

Does the entity support children? Overload of CEntity::SupportsChildren.

The struct supports children.

Returns:

Returns whether the entity supports children (which is supported).

inline virtual bool SupportsAnonymous() const override#

Does the entity support anonymous naming?

The default implementation is that anonymous naming is not supported.

Returns:

Returns whether the entity supports inheritance (which is supported).

inline virtual bool SupportsInheritance() const override#

Does the entity support inheritance?

The default implementation is that inheritance is not supported.

Returns:

Returns whether the entity supports inheritance (which is supported).

virtual void CreateValueNode() override#

Create the content value node. Overload of CDefinitionEntity::CreateValueNode.

Create the value node and assign the value node to the ValueRef() reference..