Warning, file /include/opencascade/TopLoc_SListOfItemLocation.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopLoc_SListOfItemLocation_HeaderFile
0018 #define _TopLoc_SListOfItemLocation_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Macro.hxx>
0025 class TopLoc_SListNodeOfItemLocation;
0026 class TopLoc_ItemLocation;
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044 class TopLoc_SListOfItemLocation
0045 {
0046 public:
0047
0048 DEFINE_STANDARD_ALLOC
0049
0050
0051 TopLoc_SListOfItemLocation() {}
0052
0053
0054 Standard_EXPORT TopLoc_SListOfItemLocation(const TopLoc_ItemLocation& anItem, const TopLoc_SListOfItemLocation& aTail);
0055
0056
0057 TopLoc_SListOfItemLocation(const TopLoc_SListOfItemLocation& Other)
0058 : myNode(Other.myNode)
0059 {
0060 }
0061
0062
0063
0064 Standard_EXPORT TopLoc_SListOfItemLocation& Assign (const TopLoc_SListOfItemLocation& Other);
0065
0066
0067 TopLoc_SListOfItemLocation& operator = (const TopLoc_SListOfItemLocation& Other)
0068 {
0069 return Assign(Other);
0070 }
0071
0072
0073 TopLoc_SListOfItemLocation (TopLoc_SListOfItemLocation&& theOther) Standard_Noexcept
0074 : myNode(std::move (theOther.myNode))
0075 {
0076 }
0077
0078
0079 TopLoc_SListOfItemLocation& operator= (TopLoc_SListOfItemLocation&& theOther) Standard_Noexcept
0080 {
0081 myNode = std::move (theOther.myNode);
0082 return *this;
0083 }
0084
0085
0086 Standard_Boolean IsEmpty() const
0087 {
0088 return myNode.IsNull();
0089 }
0090
0091
0092 void Clear()
0093 {
0094 myNode.Nullify();
0095 }
0096
0097
0098 ~TopLoc_SListOfItemLocation()
0099 {
0100 Clear();
0101 }
0102
0103
0104
0105 Standard_EXPORT const TopLoc_ItemLocation& Value() const;
0106
0107
0108
0109 Standard_EXPORT const TopLoc_SListOfItemLocation& Tail() const;
0110
0111
0112
0113 void Construct(const TopLoc_ItemLocation& anItem)
0114 {
0115 Assign(TopLoc_SListOfItemLocation(anItem, *this));
0116 }
0117
0118
0119 void ToTail()
0120 {
0121 Assign(Tail());
0122 }
0123
0124
0125
0126 Standard_Boolean More() const
0127 {
0128 return !IsEmpty();
0129 }
0130
0131
0132
0133 void Next()
0134 {
0135 ToTail();
0136 }
0137
0138 private:
0139 Handle(TopLoc_SListNodeOfItemLocation) myNode;
0140 };
0141
0142 #endif