1a1d39d7749c5edb81b3a05bb4d18b7030196562
[libcds.git] / tests / unit / print_bronsonavltree_stat.h
1 //$$CDS-header$$
2
3 #ifndef CDSUNIT_PRINT_BRONSONAVLTREE_STAT_H
4 #define CDSUNIT_PRINT_BRONSONAVLTREE_STAT_H
5
6 #include <ostream>
7
8 namespace std {
9
10     static inline ostream& operator <<( ostream& o, cds::container::bronson_avltree::empty_stat const& /*s*/ )
11     {
12         return o;
13     }
14
15     static inline ostream& operator <<(ostream& o, cds::container::bronson_avltree::stat<> const& s)
16     {
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_nRelaxedInsertFailed: " << s.m_nRelaxedInsertFailed.get() << "\n"
24             << "\t\t             m_nInsertRetry: " << s.m_nInsertRetry.get()         << "\n"
25             << "\t\t     m_nUpdateWaitShrinking: " << s.m_nUpdateWaitShrinking.get() << "\n"
26             << "\t\t             m_nUpdateRetry: " << s.m_nUpdateRetry.get()         << "\n"
27             << "\t\t m_nUpdateRootWaitShrinking: " << s.m_nUpdateRootWaitShrinking.get() << "\n"
28             << "\t\t           m_nUpdateSuccess: " << s.m_nUpdateSuccess.get()       << "\n"
29             << "\t\t          m_nUpdateUnlinked: " << s.m_nUpdateUnlinked.get()      << "\n"
30             << "\t\t             m_nRemoveRetry: " << s.m_nRemoveRetry.get()         << "\n"
31             << "\t\t     m_nRemoveWaitShrinking: " << s.m_nRemoveWaitShrinking.get() << "\n"
32             << "\t\t m_nRemoveRootWaitShrinking: " << s.m_nRemoveRootWaitShrinking.get() << "\n"
33             << "\t\t           m_nDisposedValue: " << s.m_nDisposedValue.get()       << "\n"
34             << "\t\t            m_nDisposedNode: " << s.m_nDisposedNode.get()        << "\n"
35             << "\t\t          m_nExtractedValue: " << s.m_nExtractedValue.get()      << "\n"
36             << "\t\t           m_nRightRotation: " << s.m_nRightRotation.get()       << "\n"
37             << "\t\t            m_nLeftRotation: " << s.m_nLeftRotation.get()        << "\n"
38             << "\t\t       m_nLeftRightRotation: " << s.m_nLeftRightRotation.get()   << "\n"
39             << "\t\t       m_nRightLeftRotation: " << s.m_nRightLeftRotation.get()   << "\n"
40             << "\t\t      m_nInsertRebalanceReq: " << s.m_nInsertRebalanceReq.get()  << "\n"
41             << "\t\t      m_nRemoveRebalanceReq: " << s.m_nRemoveRebalanceReq.get()  << "\n"
42             << "\t\tm_nRotateAfterRightRotation: " << s.m_nRotateAfterRightRotation.get() << "\n"
43             << "\t\tm_nRemoveAfterRightRotation: " << s.m_nRemoveAfterRightRotation.get() << "\n"
44             << "\t\tm_nDamageAfterRightRotation: " << s.m_nDamageAfterRightRotation.get() << "\n"
45             << "\t\t m_nRotateAfterLeftRotation: " << s.m_nRotateAfterLeftRotation.get() << "\n"
46             << "\t\t m_nRemoveAfterLeftRotation: " << s.m_nRemoveAfterLeftRotation.get() << "\n"
47             << "\t\t m_nDamageAfterLeftRotation: " << s.m_nDamageAfterLeftRotation.get() << "\n"
48             << "\t\t   m_nRotateAfterRLRotation: " << s.m_nRotateAfterRLRotation.get() << "\n"
49             << "\t\t   m_nRemoveAfterRLRotation: " << s.m_nRemoveAfterRLRotation.get() << "\n"
50             << "\t\t   m_nRotateAfterLRRotation: " << s.m_nRotateAfterLRRotation.get() << "\n"
51             << "\t\t   m_nRemoveAfterLRRotation: " << s.m_nRemoveAfterLRRotation.get() << "\n";
52     }
53 } //namespace std
54
55 #endif // #ifndef CDSUNIT_PRINT_ELLENBINTREE_STAT_H