b311480e |
1 | // Copyright (c) 1998-1999 Matra Datavision |
973c2be1 |
2 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
3 | // |
973c2be1 |
4 | // This file is part of Open CASCADE Technology software library. |
b311480e |
5 | // |
d5f74e42 |
6 | // This library is free software; you can redistribute it and/or modify it under |
7 | // the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
8 | // by the Free Software Foundation, with special exception defined in the file |
9 | // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
10 | // distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
11 | // |
973c2be1 |
12 | // Alternatively, this file may be used under the terms of Open CASCADE |
13 | // commercial license or contractual agreement. |
b311480e |
14 | |
7fd59977 |
15 | #include <Standard_NoSuchObject.hxx> |
16 | #include <Standard_NoMoreObject.hxx> |
17 | |
18 | // -------------------------------- |
19 | // constructor of SetIterator |
20 | // -------------------------------- |
21 | PCollection_SetIterator::PCollection_SetIterator |
22 | (const Handle(PCollection_HSet)& S) |
23 | { |
24 | TheIterator = S->Last(); |
25 | } |
26 | |
27 | // ----------------------------------- |
28 | // More : returns Standard_True if there |
29 | // are other items |
30 | // ----------------------------------- |
31 | Standard_Boolean PCollection_SetIterator::More() const |
32 | { |
33 | return ! ( TheIterator->IsEmpty() ) ; |
34 | } |
35 | |
36 | // ----------------------------------------- |
37 | // Next : set the iterator to the next item |
38 | // ----------------------------------------- |
39 | void PCollection_SetIterator::Next() |
40 | { |
41 | if (TheIterator->IsEmpty()) Standard_NoMoreObject::Raise(); |
42 | TheIterator = TheIterator->Tail(); |
43 | } |
44 | |
45 | // --------------------------------------- |
46 | // Value : returns the current item value |
47 | // of the iterator |
48 | // --------------------------------------- |
49 | Item PCollection_SetIterator::Value() const |
50 | { |
51 | if (TheIterator->IsEmpty()) Standard_NoSuchObject::Raise(); |
52 | return TheIterator->Value(); |
53 | } |