blob: 1eaea72cb79169dfc95d246b58d0f38fa88da33a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
// File: TColStd_MapIteratorOfPackedMapOfInteger.cxx
// Created: 09.12.05 10:01:49
// Author: Alexander GRIGORIEV
// Copyright: Open Cascade 2005
#include <TColStd_MapIteratorOfPackedMapOfInteger.hxx>
#include <TColStd_PackedMapOfInteger.hxx>
class TColStd_intMapNode;
extern Standard_Integer TColStd_intMapNode_findNext (const TColStd_intMapNode *,
unsigned int& );
//=======================================================================
//function : TColStd_MapIteratorOfPackedMapOfInteger
//purpose : Constructor
//=======================================================================
TColStd_MapIteratorOfPackedMapOfInteger::TColStd_MapIteratorOfPackedMapOfInteger
(const TColStd_PackedMapOfInteger& theMap)
: TCollection_BasicMapIterator (theMap),
myIntMask (~0u)
{
if (myNode) {
const TColStd_intMapNode * aNode =
reinterpret_cast <const TColStd_intMapNode *>(myNode);
myKey = TColStd_intMapNode_findNext (aNode, myIntMask);
}
}
//=======================================================================
//function : Initialize
//purpose :
//=======================================================================
void TColStd_MapIteratorOfPackedMapOfInteger::Initialize
(const TColStd_PackedMapOfInteger& theMap)
{
TCollection_BasicMapIterator::Initialize (theMap);
myIntMask = ~0u;
if (myNode) {
const TColStd_intMapNode * aNode =
reinterpret_cast <const TColStd_intMapNode *>(myNode);
myKey = TColStd_intMapNode_findNext (aNode, myIntMask);
}
}
//=======================================================================
//function : Reset
//purpose :
//=======================================================================
void TColStd_MapIteratorOfPackedMapOfInteger::Reset ()
{
TCollection_BasicMapIterator::Reset();
myIntMask = ~0u;
if (myNode) {
const TColStd_intMapNode * aNode =
reinterpret_cast <const TColStd_intMapNode *>(myNode);
myKey = TColStd_intMapNode_findNext (aNode, myIntMask);
}
}
//=======================================================================
//function : Next
//purpose :
//=======================================================================
void TColStd_MapIteratorOfPackedMapOfInteger::Next ()
{
while (myNode) {
const TColStd_intMapNode * aNode =
reinterpret_cast <const TColStd_intMapNode *>(myNode);
myKey = TColStd_intMapNode_findNext (aNode, myIntMask);
if (myIntMask != ~0u)
break;
TCollection_BasicMapIterator::Next();
}
}
|