class WAVLBalanceTestObserver
Defined at line 137 of file ../../src/lib/fidl/llcpp/tests/dispatcher/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 175 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void AccumulateObserverOpCounts (OpCounts & target)
Defined at line 176 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename Iter>
void RecordInsert (Iter node)
Defined at line 179 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename T, typename Iter>
void RecordInsertCollision (T * node, Iter collision)
Defined at line 187 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename Iter, typename T>
void RecordInsertReplace (Iter node, T * replacement)
Defined at line 194 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename T, typename Iter>
void RecordInsertTraverse (T * node, Iter ancestor)
Defined at line 202 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void RecordInsertPromote ()
Defined at line 210 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void RecordInsertRotation ()
Defined at line 211 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void RecordInsertDoubleRotation ()
Defined at line 212 of file ../../src/lib/fidl/llcpp/tests/dispatcher/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 214 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename T, typename Iter>
void RecordErase (T * node, Iter invalidated)
Defined at line 239 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void RecordEraseDemote ()
Defined at line 262 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void RecordEraseRotation ()
Defined at line 263 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
void RecordEraseDoubleRotation ()
Defined at line 264 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename TreeType>
void VerifyRankRule (const TreeType & tree, typename TreeType::RawPtrType node)
Defined at line 267 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc
template <typename TreeType>
void VerifyBalance (const TreeType & tree, uint64_t depth)
Defined at line 297 of file ../../src/lib/fidl/llcpp/tests/dispatcher/intrusive_wavl_tree_tests.cc