class WAVLBalanceTestObserver
Defined at line 132 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
WAVLBalanceTestObserver
An implementation of a WAVLTree Observer which collects stats on the number
of balance operations (inserts, erases, rank promotions, rank demotions and
rotatations) which have taken place. It is used by the BalanceTest to verify
that...
1) The computation costs of rebalancing after insert and erase are amortized
constant and obey their specific worst-case constant bounds.
2) The maximum depth bounds for trees with just insert operations, and with
both insert and erase operations, are obeyed.
3) Sufficient code coverage has been achieved during testing (eg. all of the
rebalancing edge cases have been run over the length of the test).
Public Methods
void ResetObserverOpCounts ()
Defined at line 170 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void AccumulateObserverOpCounts (OpCounts & target)
Defined at line 171 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename Iter>
void RecordInsert (Iter node)
Defined at line 174 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename T, typename Iter>
void RecordInsertCollision (T * node, Iter collision)
Defined at line 182 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename Iter, typename T>
void RecordInsertReplace (Iter node, T * replacement)
Defined at line 189 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename T, typename Iter>
void RecordInsertTraverse (T * node, Iter ancestor)
Defined at line 197 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void RecordInsertPromote ()
Defined at line 205 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void RecordInsertRotation ()
Defined at line 206 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void RecordInsertDoubleRotation ()
Defined at line 207 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename Iter>
void RecordRotation (Iter pivot, Iter lr_child, Iter rl_child, Iter parent, Iter sibling)
Defined at line 209 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename T, typename Iter>
void RecordErase (T * node, Iter invalidated)
Defined at line 234 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void RecordEraseDemote ()
Defined at line 257 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void RecordEraseRotation ()
Defined at line 258 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
void RecordEraseDoubleRotation ()
Defined at line 259 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename TreeType>
void VerifyRankRule (const TreeType & tree, typename TreeType::RawPtrType node)
Defined at line 262 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc
template <typename TreeType>
void VerifyBalance (const TreeType & tree, uint64_t depth)
Defined at line 292 of file ../../zircon/system/ulib/fbl/test/intrusive_wavl_tree_tests.cc