b311480e |
1 | // Copyright (c) 1998-1999 Matra Datavision |
2 | // Copyright (c) 1999-2012 OPEN CASCADE SAS |
3 | // |
4 | // The content of this file is subject to the Open CASCADE Technology Public |
5 | // License Version 6.5 (the "License"). You may not use the content of this file |
6 | // except in compliance with the License. Please obtain a copy of the License |
7 | // at http://www.opencascade.org and read it completely before using this file. |
8 | // |
9 | // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
10 | // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
11 | // |
12 | // The Original Code and all software distributed under the License is |
13 | // distributed on an "AS IS" basis, without warranty of any kind, and the |
14 | // Initial Developer hereby disclaims all such warranties, including without |
15 | // limitation, any warranties of merchantability, fitness for a particular |
16 | // purpose or non-infringement. Please see the License for the specific terms |
17 | // and conditions governing the rights and limitations under the License. |
18 | |
7fd59977 |
19 | #include <Standard_NoSuchObject.hxx> |
20 | #include <Standard_NoMoreObject.hxx> |
21 | |
22 | // -------------------------------- |
23 | // constructor of SetIterator |
24 | // -------------------------------- |
25 | PCollection_SetIterator::PCollection_SetIterator |
26 | (const Handle(PCollection_HSet)& S) |
27 | { |
28 | TheIterator = S->Last(); |
29 | } |
30 | |
31 | // ----------------------------------- |
32 | // More : returns Standard_True if there |
33 | // are other items |
34 | // ----------------------------------- |
35 | Standard_Boolean PCollection_SetIterator::More() const |
36 | { |
37 | return ! ( TheIterator->IsEmpty() ) ; |
38 | } |
39 | |
40 | // ----------------------------------------- |
41 | // Next : set the iterator to the next item |
42 | // ----------------------------------------- |
43 | void PCollection_SetIterator::Next() |
44 | { |
45 | if (TheIterator->IsEmpty()) Standard_NoMoreObject::Raise(); |
46 | TheIterator = TheIterator->Tail(); |
47 | } |
48 | |
49 | // --------------------------------------- |
50 | // Value : returns the current item value |
51 | // of the iterator |
52 | // --------------------------------------- |
53 | Item PCollection_SetIterator::Value() const |
54 | { |
55 | if (TheIterator->IsEmpty()) Standard_NoSuchObject::Raise(); |
56 | return TheIterator->Value(); |
57 | } |