File indexing completed on 2026-05-05 08:45:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TDataStd_ExtStringArray_HeaderFile
0017 #define _TDataStd_ExtStringArray_HeaderFile
0018
0019 #include <Standard.hxx>
0020
0021 #include <TColStd_HArray1OfExtendedString.hxx>
0022 #include <TDF_Attribute.hxx>
0023 #include <Standard_Integer.hxx>
0024 #include <Standard_OStream.hxx>
0025 #include <Standard_GUID.hxx>
0026
0027 class TDF_Label;
0028 class TCollection_ExtendedString;
0029 class TDF_RelocationTable;
0030 class TDF_DeltaOnModification;
0031
0032 class TDataStd_ExtStringArray;
0033 DEFINE_STANDARD_HANDLE(TDataStd_ExtStringArray, TDF_Attribute)
0034
0035
0036
0037 class TDataStd_ExtStringArray : public TDF_Attribute
0038 {
0039 friend class TDataStd_DeltaOnModificationOfExtStringArray;
0040 DEFINE_STANDARD_RTTIEXT(TDataStd_ExtStringArray, TDF_Attribute)
0041 public:
0042
0043
0044
0045 Standard_EXPORT static const Standard_GUID& GetID();
0046
0047
0048
0049
0050
0051
0052
0053 Standard_EXPORT static Handle(TDataStd_ExtStringArray) Set(
0054 const TDF_Label& label,
0055 const Standard_Integer lower,
0056 const Standard_Integer upper,
0057 const Standard_Boolean isDelta = Standard_False);
0058
0059
0060
0061 Standard_EXPORT static Handle(TDataStd_ExtStringArray) Set(
0062 const TDF_Label& label,
0063 const Standard_GUID& theGuid,
0064 const Standard_Integer lower,
0065 const Standard_Integer upper,
0066 const Standard_Boolean isDelta = Standard_False);
0067
0068
0069 Standard_EXPORT void Init(const Standard_Integer lower, const Standard_Integer upper);
0070
0071
0072
0073
0074 Standard_EXPORT void SetValue(const Standard_Integer Index,
0075 const TCollection_ExtendedString& Value);
0076
0077
0078 Standard_EXPORT void SetID(const Standard_GUID& theGuid) Standard_OVERRIDE;
0079
0080
0081 Standard_EXPORT void SetID() Standard_OVERRIDE;
0082
0083
0084 Standard_EXPORT const TCollection_ExtendedString& Value(const Standard_Integer Index) const;
0085
0086 const TCollection_ExtendedString& operator()(const Standard_Integer Index) const
0087 {
0088 return Value(Index);
0089 }
0090
0091
0092 Standard_EXPORT Standard_Integer Lower() const;
0093
0094
0095 Standard_EXPORT Standard_Integer Upper() const;
0096
0097
0098 Standard_EXPORT Standard_Integer Length() const;
0099
0100
0101
0102
0103
0104
0105 Standard_EXPORT void ChangeArray(const Handle(TColStd_HArray1OfExtendedString)& newArray,
0106 const Standard_Boolean isCheckItems = Standard_True);
0107
0108
0109 const Handle(TColStd_HArray1OfExtendedString)& Array() const { return myValue; }
0110
0111 Standard_Boolean GetDelta() const { return myIsDelta; }
0112
0113
0114 void SetDelta(const Standard_Boolean isDelta) { myIsDelta = isDelta; }
0115
0116 Standard_EXPORT TDataStd_ExtStringArray();
0117
0118 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
0119
0120 Standard_EXPORT void Restore(const Handle(TDF_Attribute)& With) Standard_OVERRIDE;
0121
0122 Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0123
0124 Standard_EXPORT void Paste(const Handle(TDF_Attribute)& Into,
0125 const Handle(TDF_RelocationTable)& RT) const Standard_OVERRIDE;
0126
0127 Standard_EXPORT virtual Standard_OStream& Dump(Standard_OStream& anOS) const Standard_OVERRIDE;
0128
0129
0130
0131 Standard_EXPORT virtual Handle(TDF_DeltaOnModification) DeltaOnModification(
0132 const Handle(TDF_Attribute)& anOldAttribute) const Standard_OVERRIDE;
0133
0134
0135 Standard_EXPORT virtual void DumpJson(Standard_OStream& theOStream,
0136 Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0137
0138 private:
0139 void RemoveArray() { myValue.Nullify(); }
0140
0141 private:
0142 Handle(TColStd_HArray1OfExtendedString) myValue;
0143 Standard_Boolean myIsDelta;
0144 Standard_GUID myID;
0145 };
0146
0147 #endif