35 void linkAndReserve(
const QLinkedStringHash<T> &other,
int additionalReserve)
40 data.size = other.data.size;
41 data.rehashToSize(other.count() + additionalReserve);
43 if (data.numBuckets == other.data.numBuckets) {
44 nodePool =
new ReservedNodePool;
45 nodePool->count = additionalReserve;
47 nodePool->nodes =
new Node[additionalReserve];
49 for (
int ii = 0; ii < data.numBuckets; ++ii)
50 data.buckets[ii] = (Node *)other.data.buckets[ii];
59 data.numBits = other.data.numBits;
60 reserve(other.count() + additionalReserve);
130 inline ConstIterator iterator(Node *n)
const
133 return ConstIterator();
135 const QLinkedStringHash<T> *container =
this;
139 if ((n >= nodePool->nodes) && (n < (nodePool->nodes + nodePool->used))) {
141 }
else if ((n >= link->nodePool->nodes)
142 && (n < (link->nodePool->nodes + link->nodePool->used))) {
146 const NewedNode *ln = link->newedNodes;
159 ConstIteratorData rv;
162 return ConstIterator(rv);