-// Weak reference to a data type. Used to implement self referencing data types
-class HLADataTypeReference : public HLADataType {
-public:
- HLADataTypeReference(const SGSharedPtr<HLADataType>& dataType) :
- HLADataType(dataType->getName(), dataType->getAlignment()),
- _dataType(dataType)
- { }
- virtual ~HLADataTypeReference();
-
- SGSharedPtr<const HLADataType> getDataType() const
- { return _dataType.lock(); }
-
- virtual void accept(HLADataTypeVisitor& visitor) const;
- virtual const HLADataTypeReference* toDataTypeReference() const;
-
-private:
- SGWeakPtr<const HLADataType> _dataType;
-};
-