Lines Matching refs:LinkNode

53 class LinkNode {
59 explicit LinkNode() = default;
60 ~LinkNode() = default;
61 explicit LinkNode(const Key &key);
62 explicit LinkNode(const Key &key, const Val &val);
63 explicit LinkNode(const Key &key, Val &&val);
64 LinkNode(const LinkNode &node);
65 LinkNode(LinkNode &&node);
66 LinkNode &operator=(const LinkNode &node);
67 LinkNode &operator=(LinkNode &&node);
68 static LinkNode<Key, Val> *GetLinkNode(Val *pval);
69 static LinkNode<Key, Val> *GetLinkNode(Link *plink);
79 explicit Iterator(LinkNode<Key, Val> *pnode, HashList *phashList);
80 explicit Iterator(const LinkNode<Key, Val> *pnode, const HashList *phashList);
96 LinkNode<Key, Val> *GetNode() const
107 LinkNode<Key, Val> *pnode_ {nullptr};
115 explicit ReverseIterator(LinkNode<Key, Val> *pnode, HashList *phashList);
116 explicit ReverseIterator(const LinkNode<Key, Val> *pnode, const HashList *phashList);
133 LinkNode<Key, Val> *GetNode()
144 LinkNode<Key, Val> *pnode_ {nullptr};
208 void MoveToHead(LinkNode<Key, Val> *&pnode);
209 void MoveToTail(LinkNode<Key, Val> *&pnode);
210 bool MoveNode(const Iterator &pos, LinkNode<Key, Val> *&pnode);
211 LinkNode<Key, Val> *AllocateNode(const Key &key);
212 LinkNode<Key, Val> *AllocateNode(const Key &key, const Val &val);
213 LinkNode<Key, Val> *AllocateNode(const Key &key, Val &&val);
214 void ReclaimNode(LinkNode<Key, Val> *&pnode);
217 LinkNode<Key, Val> *pData_ {nullptr};
220 std::unordered_map<Key, LinkNode<Key, Val> *> valueTab_ {};
223 // implementation of template class LinkNode
225 LinkNode<Key, Val>::LinkNode(const Key &key) : key_ {key} {}
228 LinkNode<Key, Val>::LinkNode(const Key &key, const Val &val) : key_ {key}, val_ {val} {}
231 LinkNode<Key, Val>::LinkNode(const Key &key, Val &&val) : key_ {key}, val_ {std::move(val)} {}
234 LinkNode<Key, Val>::LinkNode(const LinkNode& node)
241 LinkNode<Key, Val>::LinkNode(LinkNode&& node)
248 auto LinkNode<Key, Val>::operator=(const LinkNode& node)
249 -> LinkNode<Key, Val>&
257 auto LinkNode<Key, Val>::operator=(LinkNode&& node)
258 -> LinkNode<Key, Val>&
266 auto LinkNode<Key, Val>::GetLinkNode(Val *pval)
267 -> LinkNode<Key, Val>*
270 LinkNode<Key, Val> *pnode {nullptr};
273 return reinterpret_cast<LinkNode<Key, Val>*>(nodeAddr);
279 auto LinkNode<Key, Val>::GetLinkNode(Link *plink)
280 -> LinkNode<Key, Val>*
283 LinkNode<Key, Val> *pnode {nullptr};
286 return reinterpret_cast<LinkNode<Key, Val>*>(nodeAddr);
290 // end of LinkNode
294 HashList<Key, Val>::Iterator::Iterator(LinkNode<Key, Val> *pnode, HashList *phashList)
303 HashList<Key, Val>::Iterator::Iterator(const LinkNode<Key, Val> *pnode, const HashList *phashList)
304 : pnode_ {const_cast<LinkNode<Key, Val>*>(pnode)},
356 auto pnode = LinkNode<Key, Val>::GetLinkNode(plink);
375 auto pnode = LinkNode<Key, Val>::GetLinkNode(plink);
398 pnode_ = LinkNode<Key, Val>::GetLinkNode(plink);
421 pnode_ = LinkNode<Key, Val>::GetLinkNode(plink);
494 HashList<Key, Val>::ReverseIterator::ReverseIterator(LinkNode<Key, Val> *pnode, HashList *phashList)
503 HashList<Key, Val>::ReverseIterator::ReverseIterator(const LinkNode<Key, Val> *pnode, const HashList *phashList)
504 : pnode_ {const_cast<LinkNode<Key, Val> *>(pnode)},
557 pnode_ = LinkNode<Key, Val>::GetLinkNode(plink);
576 pnode_ = LinkNode<Key, Val>::GetLinkNode(plink);
598 pnode_ = LinkNode<Key, Val>::GetLinkNode(plink);
621 pnode_ = LinkNode<Key, Val>::GetLinkNode(plink);
702 pData_ = new(std::nothrow) LinkNode<Key, Val>[numItem_];
707 LinkNode<Key, Val> &curNnode = pData_[index];
728 pData_ = new(std::nothrow) LinkNode<Key, Val>[numItem_];
735 LinkNode<Key, Val> &curNnode = pData_[index];
801 return Iterator(LinkNode<Key, Val>::GetLinkNode(dataHead_.next_), this);
811 return Iterator(LinkNode<Key, Val>::GetLinkNode(dataHead_.next_), this);
835 return ReverseIterator(LinkNode<Key, Val>::GetLinkNode(dataHead_.prev_), this);
845 return ReverseIterator(LinkNode<Key, Val>::GetLinkNode(dataHead_.prev_), this);
865 LinkNode<Key, Val> *pnode = LinkNode<Key, Val>::GetLinkNode(dataHead_.next_);
878 auto pnode = LinkNode<Key, Val>::GetLinkNode(dataHead_.prev_);
888 LinkNode<Key, Val> *pnode {nullptr};
919 LinkNode<Key, Val>* pnode = AllocateNode(key, val);
932 LinkNode<Key, Val>* pnode = AllocateNode(key, std::move(val));
945 LinkNode<Key, Val>* pnode = AllocateNode(key, val);
958 LinkNode<Key, Val>* pnode = AllocateNode(key, std::move(val));
973 LinkNode<Key, Val>* pnode = LinkNode<Key, Val>::GetLinkNode(dataHead_.next_);
984 LinkNode<Key, Val>* pnode = LinkNode<Key, Val>::GetLinkNode(dataHead_.prev_);
998 LinkNode<Key, Val> *pnode = valueTab_[key];
1001 Iterator tempItr {LinkNode<Key, Val>::GetLinkNode(plink), this};
1013 LinkNode<Key, Val> *pnode = pos.GetNode();
1035 bool HashList<Key, Val>::MoveNode(const Iterator& pos, LinkNode<Key, Val> *&pnode)
1037 LinkNode<Key, Val> *curNode = pos.GetNode();
1061 void HashList<Key, Val>::MoveToHead(LinkNode<Key, Val> *&pnode)
1076 void HashList<Key, Val>::MoveToTail(LinkNode<Key, Val> *&pnode)
1092 ->LinkNode<Key, Val> *
1097 LinkNode<Key, Val> *pnode = LinkNode<Key, Val>::GetLinkNode(freeHead_.next_);
1110 ->LinkNode<Key, Val> *
1115 LinkNode<Key, Val> *pnode = LinkNode<Key, Val>::GetLinkNode(freeHead_.next_);
1126 ->LinkNode<Key, Val> *
1131 LinkNode<Key, Val> *pnode = LinkNode<Key, Val>::GetLinkNode(freeHead_.next_);
1141 void HashList<Key, Val>::ReclaimNode(LinkNode<Key, Val> *&pnode)