3 #ifndef CDSUNIT_PRINT_BRONSONAVLTREE_STAT_H
4 #define CDSUNIT_PRINT_BRONSONAVLTREE_STAT_H
10 static inline ostream& operator <<( ostream& o, cds::container::bronson_avltree::empty_stat const& /*s*/ )
15 static inline ostream& operator <<(ostream& o, cds::container::bronson_avltree::stat<> const& s)
17 return o << "\nBronsonAVLTree statistics [cds::container::bronson_avltree::stat]:\n"
18 << "\t\t m_nFindSuccess: " << s.m_nFindSuccess.get() << "\n"
19 << "\t\t m_nFindFailed: " << s.m_nFindFailed.get() << "\n"
20 << "\t\t m_nFindRetry: " << s.m_nFindRetry.get() << "\n"
21 << "\t\t m_nFindWaitShrinking: " << s.m_nFindWaitShrinking.get() << "\n"
22 << "\t\t m_nInsertSuccess: " << s.m_nInsertSuccess.get() << "\n"
23 << "\t\t m_nInsertFailed: " << s.m_nInsertFailed.get() << "\n"
24 << "\t\t m_nRelaxedInsertFailed: " << s.m_nRelaxedInsertFailed.get() << "\n"
25 << "\t\t m_nInsertRetry: " << s.m_nInsertRetry.get() << "\n"
26 << "\t\t m_nUpdateWaitShrinking: " << s.m_nUpdateWaitShrinking.get() << "\n"
27 << "\t\t m_nUpdateRetry: " << s.m_nUpdateRetry.get() << "\n"
28 << "\t\t m_nUpdateRootWaitShrinking: " << s.m_nUpdateRootWaitShrinking.get() << "\n"
29 << "\t\t m_nUpdateSuccess: " << s.m_nUpdateSuccess.get() << "\n"
30 << "\t\t m_nUpdateUnlinked: " << s.m_nUpdateUnlinked.get() << "\n"
31 << "\t\t m_nRemoveSuccess: " << s.m_nRemoveSuccess.get() << "\n"
32 << "\t\t m_nRemoveFailed: " << s.m_nRemoveFailed.get() << "\n"
33 << "\t\t m_nRemoveRetry: " << s.m_nRemoveRetry.get() << "\n"
34 << "\t\t m_nExtractSuccess: " << s.m_nExtractSuccess.get() << "\n"
35 << "\t\t m_nExtractFailed: " << s.m_nExtractFailed.get() << "\n"
36 << "\t\t m_nRemoveWaitShrinking: " << s.m_nRemoveWaitShrinking.get() << "\n"
37 << "\t\t m_nRemoveRootWaitShrinking: " << s.m_nRemoveRootWaitShrinking.get() << "\n"
38 << "\t\t m_nMakeRoutingNode: " << s.m_nMakeRoutingNode.get() << "\n"
39 << "\t\t m_nDisposedValue: " << s.m_nDisposedValue.get() << "\n"
40 << "\t\t m_nDisposedNode: " << s.m_nDisposedNode.get() << "\n"
41 << "\t\t m_nExtractedValue: " << s.m_nExtractedValue.get() << "\n"
42 << "\t\t m_nRightRotation: " << s.m_nRightRotation.get() << "\n"
43 << "\t\t m_nLeftRotation: " << s.m_nLeftRotation.get() << "\n"
44 << "\t\t m_nLeftRightRotation: " << s.m_nLeftRightRotation.get() << "\n"
45 << "\t\t m_nRightLeftRotation: " << s.m_nRightLeftRotation.get() << "\n"
46 << "\t\t m_nInsertRebalanceReq: " << s.m_nInsertRebalanceReq.get() << "\n"
47 << "\t\t m_nRemoveRebalanceReq: " << s.m_nRemoveRebalanceReq.get() << "\n"
48 << "\t\tm_nRotateAfterRightRotation: " << s.m_nRotateAfterRightRotation.get() << "\n"
49 << "\t\tm_nRemoveAfterRightRotation: " << s.m_nRemoveAfterRightRotation.get() << "\n"
50 << "\t\tm_nDamageAfterRightRotation: " << s.m_nDamageAfterRightRotation.get() << "\n"
51 << "\t\t m_nRotateAfterLeftRotation: " << s.m_nRotateAfterLeftRotation.get() << "\n"
52 << "\t\t m_nRemoveAfterLeftRotation: " << s.m_nRemoveAfterLeftRotation.get() << "\n"
53 << "\t\t m_nDamageAfterLeftRotation: " << s.m_nDamageAfterLeftRotation.get() << "\n"
54 << "\t\t m_nRotateAfterRLRotation: " << s.m_nRotateAfterRLRotation.get() << "\n"
55 << "\t\t m_nRemoveAfterRLRotation: " << s.m_nRemoveAfterRLRotation.get() << "\n"
56 << "\t\t m_nRotateAfterLRRotation: " << s.m_nRotateAfterLRRotation.get() << "\n"
57 << "\t\t m_nRemoveAfterLRRotation: " << s.m_nRemoveAfterLRRotation.get() << "\n";
61 #endif // #ifndef CDSUNIT_PRINT_ELLENBINTREE_STAT_H