1 //static const char* sccsid = "@(#)Expr_RUIterator.cxx 3.2 95/01/10"; // Do not delete this line. Used by sccs.
2 // Copyright: Matra-Datavision 1991
3 // File: Expr_RUIterator.cxx
4 // Created: Thu Jun 13 17:17:50 1991
5 // Author: Arnaud BOUZY
8 #include <Expr_RUIterator.ixx>
9 #include <Standard_NoMoreObject.hxx>
10 #include <Standard_NoSuchObject.hxx>
11 #include <Expr_RelationIterator.hxx>
12 #include <Expr_UnknownIterator.hxx>
13 #include <Expr_SingleRelation.hxx>
16 Expr_RUIterator::Expr_RUIterator (const Handle(Expr_GeneralRelation)& rel)
18 Expr_RelationIterator ri(rel);
19 Handle(Expr_SingleRelation) srel;
20 Handle(Expr_NamedUnknown) var;
25 Expr_UnknownIterator ui1(srel->FirstMember());
29 if (!myMap.Contains(var)) {
33 Expr_UnknownIterator ui2(srel->SecondMember());
37 if (!myMap.Contains(var)) {
44 Standard_Boolean Expr_RUIterator::More () const
46 return (myCurrent <= myMap.Extent());
49 void Expr_RUIterator::Next ()
52 Standard_NoMoreObject::Raise();
57 Handle(Expr_NamedUnknown) Expr_RUIterator::Value () const
59 return myMap(myCurrent);