File indexing completed on 2026-06-14 08:30:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TDocStd_XLinkRoot_HeaderFile
0017 #define _TDocStd_XLinkRoot_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <TDocStd_XLinkPtr.hxx>
0023 #include <TDF_Attribute.hxx>
0024 #include <Standard_OStream.hxx>
0025 class Standard_GUID;
0026 class TDF_Data;
0027 class TDF_RelocationTable;
0028
0029 class TDocStd_XLinkRoot;
0030 DEFINE_STANDARD_HANDLE(TDocStd_XLinkRoot, TDF_Attribute)
0031
0032
0033
0034
0035
0036
0037 class TDocStd_XLinkRoot : public TDF_Attribute
0038 {
0039
0040 public:
0041
0042 Standard_EXPORT static const Standard_GUID& GetID();
0043
0044
0045
0046 Standard_EXPORT static Handle(TDocStd_XLinkRoot) Set(const Handle(TDF_Data)& aDF);
0047
0048
0049 Standard_EXPORT static void Insert(const TDocStd_XLinkPtr& anXLinkPtr);
0050
0051
0052 Standard_EXPORT static void Remove(const TDocStd_XLinkPtr& anXLinkPtr);
0053
0054
0055 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
0056
0057
0058 Standard_EXPORT Handle(TDF_Attribute) BackupCopy() const Standard_OVERRIDE;
0059
0060
0061 Standard_EXPORT void Restore(const Handle(TDF_Attribute)& anAttribute) Standard_OVERRIDE;
0062
0063
0064 Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0065
0066
0067 Standard_EXPORT void Paste(const Handle(TDF_Attribute)& intoAttribute,
0068 const Handle(TDF_RelocationTable)& aRelocationTable) const
0069 Standard_OVERRIDE;
0070
0071
0072 Standard_EXPORT Standard_OStream& Dump(Standard_OStream& anOS) const Standard_OVERRIDE;
0073
0074 friend class TDocStd_XLinkIterator;
0075
0076 DEFINE_STANDARD_RTTIEXT(TDocStd_XLinkRoot, TDF_Attribute)
0077
0078 protected:
0079 private:
0080
0081 Standard_EXPORT TDocStd_XLinkRoot();
0082
0083
0084 void First(const TDocStd_XLinkPtr& anXLinkPtr);
0085
0086
0087 TDocStd_XLinkPtr First() const;
0088
0089 TDocStd_XLinkPtr myFirst;
0090 };
0091
0092 #include <TDocStd_XLinkRoot.lxx>
0093
0094 #endif