Interface to IType which can refer to other types. More...
#include <ireferenceholder.h>

Public Member Functions | |
| virtual uint16_t | getHash () const =0 |
| Calculates the hash value. | |
Reference access and manipulation | |
| virtual const IType * | findReference (bool recache=false) const =0 |
| Searches the tree for the associated reference. | |
| virtual const std::string * | getReference () const =0 |
| Gets the reference. | |
| virtual void | removeReference ()=0 throw (Exception::ReferenceException) |
| Removes the reference. | |
| virtual void | setReference (const std::string &ref, IType *scope)=0 |
| Sets the reference. | |
| virtual void | setReference (const std::string &ref, bool fromStdLib=false)=0 |
| Sets the reference. | |
Interface to IType which can refer to other types.
A type can hold a reference to another IType and should behave like that type. A reference itself is only a string to an identifier.
| virtual const IType* HGL::Type::IReferenceHolder::findReference | ( | bool | recache = false |
) | const [pure virtual] |
Searches the tree for the associated reference.
Implemented in HGL::Type::ExpressionParam, HGL::Type::Line, HGL::Type::ReferenceHolderBase, and HGL::Type::ReferenceParam.
| virtual uint16_t HGL::Type::IReferenceHolder::getHash | ( | ) | const [pure virtual] |
Calculates the hash value.
| virtual const std::string* HGL::Type::IReferenceHolder::getReference | ( | ) | const [pure virtual] |
Gets the reference.
NULL if no reference is set Implemented in HGL::Type::ReferenceHolderBase.
| virtual void HGL::Type::IReferenceHolder::removeReference | ( | ) | throw (Exception::ReferenceException) [pure virtual] |
Removes the reference.
true), i.e. if the reference is removed the resulting type must be valid, otherwise an ReferenceRemoveException is thrown| HGL::Exception::ReferenceRemoveException | if the underlying type is not valid |
| virtual void HGL::Type::IReferenceHolder::setReference | ( | const std::string & | ref, | |
| IType * | scope | |||
| ) | [pure virtual] |
Sets the reference.
Scoped references are useful for types which are created at runtime.
| ref | the reference | |
| scope | the scope in which the reference should be found |
| virtual void HGL::Type::IReferenceHolder::setReference | ( | const std::string & | ref, | |
| bool | fromStdLib = false | |||
| ) | [pure virtual] |
Sets the reference.
| ref | the reference | |
| fromStdLib | true if the reference points into the stdlib |
Implemented in HGL::Type::ReferenceHolderBase.
1.6.1