Class CInterfaceValueNode#

Inheritance Relationships#

Base Type#

Class Documentation#

class CInterfaceValueNode : public CEntityValueNode#

Interface value node.

Note

The only assignable values of an interface are “null” and “0”. No variable is allowed to be assigned and an interface cannot be const.

Public Functions

CInterfaceValueNode(CEntityPtr ptrEntity, const CValueNodePtr ptrParent)#

Constructor.

Parameters:
  • ptrEntity[in] Smart pointer to the entity implementing the type. Cannot be nullptr.

  • ptrParent[in] Smart pointer to the parent value. Can only be nullptr for upper most value level.

CInterfaceValueNode(const CInterfaceValueNode &rValueNode, CEntityPtr ptrEntity, const CValueNodePtr ptrParent)#

Copy constructor with new parent and entity.

Parameters:
  • rValueNode[in] Reference to the value node to copy from.

  • ptrEntity[in] Smart pointer to the entity implementing the type. Cannot be nullptr.

  • ptrParent[in] Smart pointer to the parent value. Cannot be nullptr.

virtual ~CInterfaceValueNode() override = default#

Default destructor.

Remark

This constructor needs to be virtual to allow derived classes to be destroyed correctly.

virtual CValueNodePtr CreateCopy(CEntityPtr ptrEntity, const CValueNodePtr ptrParent) const override#

Create a copy of the value. Overload of CEntityValueNode::CreateCopy.

Parameters:
  • ptrEntity[in] Smart pointer to the entity receiving the copy of the value node.

  • ptrParent[in] Smart pointer to the parent value. Cannot be nullptr.

Returns:

Returns a smart pointer of the copy of the value.

virtual void ProcessValueAssignment(const CTokenList &rlstExpression) override#

Process the assignment. Overload of CEntityValueNode::ProcessValueAssignment.

Parameters:

rlstExpression[in] Reference to the expression token list.

inline virtual bool IsDynamic() const override#

Is this value dynamic (will it be defined through a non-const variable definition)? This is always the case.

Returns:

Returns ‘true’ when the value is dynamic; ‘false’ otherwise.