blob: 313b5e31708b417db0c131e976be28dc13c2d650 (
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
|
//
// Generated by dtk
// Translation Unit: linklist.cpp
//
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include <algorithm.h>
#include "JSystem/JGadget/linklist.h"
/* 802BFC00-802BFC3C .text __dt__Q27JGadget13TNodeLinkListFv */
JGadget::TNodeLinkList::~TNodeLinkList() {
}
/* 802BFC3C-802BFC84 .text erase__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iterator */
JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(iterator it) {
iterator next = it;
++next;
return erase(it, next);
}
/* 802BFC84-802BFCEC .text erase__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorQ37JGadget13TNodeLinkList8iterator */
JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(iterator a, iterator b) {
TLinkListNode* cur = a.node;
TLinkListNode* end = b.node;
TLinkListNode* next;
for (; cur != end; cur = next) {
next = cur->mNext;
Erase(cur);
}
return b;
}
/* 802BFCEC-802BFD8C .text splice__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorRQ27JGadget13TNodeLinkListQ37JGadget13TNodeLinkList8iterator */
void JGadget::TNodeLinkList::splice(iterator it, TNodeLinkList& rSrc, iterator itSrc) {
iterator itSrcNext = itSrc;
++itSrcNext;
if ((it == itSrc) || (it == itSrcNext)) {
return;
} else {
TLinkListNode* const node = &(*itSrc);
rSrc.Erase(node);
Insert(it, node);
}
}
/* 802BFD8C-802BFDF4 .text Find__Q27JGadget13TNodeLinkListFPCQ27JGadget13TLinkListNode */
JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Find(const TLinkListNode* node) {
return std::find_if(begin(), end(), TPRIsEqual_pointer_<TLinkListNode>(node));
}
/* 802BFDF4-802BFE20 .text Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode */
JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Insert(iterator it, TLinkListNode* p) {
TLinkListNode* pIt = it.node;
TLinkListNode* pItPrev = pIt->mPrev;
p->mNext = pIt;
p->mPrev = pItPrev;
pIt->mPrev = p;
pItPrev->mNext = p;
count++;
return iterator(p);
}
/* 802BFE20-802BFE44 .text Erase__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode */
JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Erase(TLinkListNode* p) {
TLinkListNode* pNext = p->mNext;
TLinkListNode* pPrev = p->mPrev;
pNext->mPrev = pPrev;
pPrev->mNext = pNext;
count--;
return iterator(pNext);
}
/* 802BFE44-802BFF14 .text Remove__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode */
void JGadget::TNodeLinkList::Remove(TLinkListNode* p) {
remove_if(TPRIsEqual_pointer_<TLinkListNode>(p));
}
|