Lines Matching refs:node
30 explicit EcmaList(T *node) : first_(node), last_(node)
32 node->LinkPrev(nullptr);
33 node->LinkNext(nullptr);
38 void AddNode(T *node)
40 ASSERT(node != nullptr);
43 node->LinkNext(lastNext);
44 node->LinkPrev(last_);
45 last_->LinkNext(node);
47 lastNext->LinkPrev(node);
49 last_ = node;
52 node->LinkPrev(nullptr);
53 node->LinkNext(nullptr);
54 first_ = last_ = node;
59 void AddNodeToFront(T *node)
61 ASSERT(node != nullptr);
63 node->LinkNext(first_);
64 node->LinkPrev(first_->GetPrev());
65 first_->LinkPrev(node);
66 first_ = node;
68 node->LinkPrev(nullptr);
69 node->LinkNext(nullptr);
70 first_ = last_ = node;
77 T *node = last_;
79 return node;
82 void RemoveNode(T *node)
84 ASSERT(HasNode(node));
85 if (last_ == node) {
87 last_ = node->GetPrev();
89 if (first_ == node) {
91 first_ = node->GetNext();
94 T *next = node->GetNext();
96 T *prev = node->GetPrev();
104 node->LinkPrev(nullptr);
106 node->LinkNext(nullptr);
110 bool HasNode(T *node)
114 if (it == node) {