File indexing completed on 2025-01-18 10:05:19
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
0033 class TDataStd_ExtStringArray;
0034 DEFINE_STANDARD_HANDLE(TDataStd_ExtStringArray, TDF_Attribute)
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
0046 Standard_EXPORT static const Standard_GUID& GetID();
0047
0048
0049
0050
0051
0052
0053
0054 Standard_EXPORT static Handle(TDataStd_ExtStringArray) Set (const TDF_Label& label, const Standard_Integer lower, const Standard_Integer upper, const Standard_Boolean isDelta = Standard_False);
0055
0056
0057
0058 Standard_EXPORT static Handle(TDataStd_ExtStringArray) Set (const TDF_Label& label, const Standard_GUID& theGuid,
0059 const Standard_Integer lower, const Standard_Integer upper,
0060 const Standard_Boolean isDelta = Standard_False);
0061
0062
0063
0064 Standard_EXPORT void Init (const Standard_Integer lower, const Standard_Integer upper);
0065
0066
0067
0068 Standard_EXPORT void SetValue (const Standard_Integer Index, const TCollection_ExtendedString& Value);
0069
0070
0071 Standard_EXPORT void SetID( const Standard_GUID& theGuid) Standard_OVERRIDE;
0072
0073
0074 Standard_EXPORT void SetID() Standard_OVERRIDE;
0075
0076
0077 Standard_EXPORT const TCollection_ExtendedString& Value (const Standard_Integer Index) const;
0078
0079 const TCollection_ExtendedString& operator () (const Standard_Integer Index) const
0080 {
0081 return Value(Index);
0082 }
0083
0084
0085 Standard_EXPORT Standard_Integer Lower() const;
0086
0087
0088 Standard_EXPORT Standard_Integer Upper() const;
0089
0090
0091 Standard_EXPORT Standard_Integer Length() const;
0092
0093
0094
0095
0096
0097
0098 Standard_EXPORT void ChangeArray (const Handle(TColStd_HArray1OfExtendedString)& newArray, const Standard_Boolean isCheckItems = Standard_True);
0099
0100
0101 const Handle(TColStd_HArray1OfExtendedString)& Array() const { return myValue; }
0102
0103 Standard_Boolean GetDelta() const { return myIsDelta; }
0104
0105
0106 void SetDelta (const Standard_Boolean isDelta) { myIsDelta = isDelta; }
0107
0108 Standard_EXPORT TDataStd_ExtStringArray();
0109
0110 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
0111
0112 Standard_EXPORT void Restore (const Handle(TDF_Attribute)& With) Standard_OVERRIDE;
0113
0114 Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0115
0116 Standard_EXPORT void Paste (const Handle(TDF_Attribute)& Into, const Handle(TDF_RelocationTable)& RT) const Standard_OVERRIDE;
0117
0118 Standard_EXPORT virtual Standard_OStream& Dump (Standard_OStream& anOS) const Standard_OVERRIDE;
0119
0120
0121
0122 Standard_EXPORT virtual Handle(TDF_DeltaOnModification) DeltaOnModification (const Handle(TDF_Attribute)& anOldAttribute) const Standard_OVERRIDE;
0123
0124
0125 Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0126
0127 private:
0128
0129 void RemoveArray() { myValue.Nullify(); }
0130
0131 private:
0132
0133 Handle(TColStd_HArray1OfExtendedString) myValue;
0134 Standard_Boolean myIsDelta;
0135 Standard_GUID myID;
0136
0137 };
0138
0139 #endif