Class CParameterEntity#

Inheritance Relationships#

Base Types#

Class Documentation#

class CParameterEntity : public CDeclarationEntity, public sdv::idl::IParameterEntity#

The parameter definition of an operation and value type.

The parameter section contains the definition of the parameter for operations and value types.

Public Functions

CParameterEntity(const CContextPtr &rptrContext, CEntityPtr ptrParent, const CTokenList &rlstTokenList, bool bEnforceDirection = true)#

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.

  • rlstTokenList[in] Reference to the token list holding the tokens to process.

  • bEnforceDirection[in] Enforce parameter direction.

virtual ~CParameterEntity() override = default#

Destructor.

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

Get access to another interface. Overload of 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 the parameter type.

virtual void Process() override#

Process the code. Overload of CEntity::Process.

inline virtual bool SupportArrays() const override#

Does the entity support arrays? Overload of CDeclarationEntity::SupportArrays.

Returns:

Returns ‘true’ when the entity supports assignments; ‘false’ otherwise.

inline virtual bool SupportInterface() const override#

Does the entity support an interface as base type? Overload of CDeclarationEntity::SupportVoid.

Returns:

Returns ‘true’ when the entity supports interfaces as base type; ‘false’ otherwise.

inline virtual sdv::idl::IParameterEntity::EParameterDirection GetDirection() const override#

Get the parameter direction. Overload of sdv::idl::IParameterEntity::GetDirection.

Returns:

Parameter direction.

virtual bool RequiresAssignment() const override#

Does the entity require an assignment (const declarations do)? Overload of CDeclarationEntity::RequiresAssignment.

Default processing is done by the declaration function (checking for unbound arrays). Exception: when the parent interface is defined as local, assignment is not required.

Returns:

Returns ‘true’ when the entity requires an assignment; ‘false’ otherwise.

inline virtual bool IsReadOnly() const override#

Is the entity readonly (variable declarations and writable attributes aren’t)? Overload of IDeclarationEntity::IsReadOnly.

Returns whether the entity is readonly by design or whether it is defined readonly by the code. Default value is ‘true’.

Returns:

Returns ‘true’ when the entity defined as readonly; ‘false’ otherwise.

virtual void CalcHash(CHashObject &rHash) const override#

Calculate the hash of this entity and all encapsulated entities. Overload of CBaseEntity::CalcHash.

Parameters:

rHash[inout] Hash object to be filled with data.