File indexing completed on 2026-09-20 09:19:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _StdObject_Location_HeaderFile
0015 #define _StdObject_Location_HeaderFile
0016
0017 #include <StdObjMgt_ReadData.hxx>
0018 #include <StdObjMgt_WriteData.hxx>
0019 #include <StdObjMgt_Persistent.hxx>
0020 #include <NCollection_DataMap.hxx>
0021
0022 #include <TopLoc_Location.hxx>
0023 class Standard_Transient;
0024 class StdObjMgt_Persistent;
0025
0026 class StdObject_Location
0027 {
0028 public:
0029
0030 Standard_EXPORT void PChildren(StdObjMgt_Persistent::SequenceOfPersistent& theChildren) const;
0031
0032
0033 TopLoc_Location Import() const;
0034
0035
0036 Standard_EXPORT static StdObject_Location Translate(
0037 const TopLoc_Location& theLoc,
0038 NCollection_DataMap<occ::handle<Standard_Transient>, occ::handle<StdObjMgt_Persistent>>&
0039 theMap);
0040
0041 private:
0042 occ::handle<StdObjMgt_Persistent> myData;
0043
0044 friend StdObjMgt_ReadData& operator>>(StdObjMgt_ReadData&, StdObject_Location&);
0045 friend StdObjMgt_WriteData& operator<<(StdObjMgt_WriteData&, const StdObject_Location&);
0046 };
0047
0048
0049 inline StdObjMgt_ReadData& operator>>(StdObjMgt_ReadData& theReadData,
0050 StdObject_Location& theLocation)
0051 {
0052 StdObjMgt_ReadData::ObjectSentry aSentry(theReadData);
0053 return theReadData >> theLocation.myData;
0054 }
0055
0056
0057 inline StdObjMgt_WriteData& operator<<(StdObjMgt_WriteData& theWriteData,
0058 const StdObject_Location& theLocation)
0059 {
0060 StdObjMgt_WriteData::ObjectSentry aSentry(theWriteData);
0061 return theWriteData << theLocation.myData;
0062 }
0063
0064 #endif