0024157: Parallelization of assembly part of BO
[occt.git] / src / PCollection / PCollection_SetIterator.gxx
CommitLineData
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// --------------------------------
25PCollection_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// -----------------------------------
35Standard_Boolean PCollection_SetIterator::More() const
36{
37 return ! ( TheIterator->IsEmpty() ) ;
38}
39
40// -----------------------------------------
41// Next : set the iterator to the next item
42// -----------------------------------------
43void 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// ---------------------------------------
53Item PCollection_SetIterator::Value() const
54{
55 if (TheIterator->IsEmpty()) Standard_NoSuchObject::Raise();
56 return TheIterator->Value();
57}