Bronson's AVL-tree impl
[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\tm_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_nDisposedValue: " << s.m_nDisposedValue.get()       << "\n"
31             << "\t\t           m_nDisposedNode: " << s.m_nDisposedNode.get()        << "\n"
32             << "\t\t         m_nExtractedValue: " << s.m_nExtractedValue.get()      << "\n"
33             << "\t\t          m_nRightRotation: " << s.m_nRightRotation.get()       << "\n"
34             << "\t\t           m_nLeftRotation: " << s.m_nLeftRotation.get()        << "\n"
35             << "\t\t      m_nLeftRightRotation: " << s.m_nLeftRightRotation.get()   << "\n"
36             << "\t\t      m_nRightLeftRotation: " << s.m_nRightLeftRotation.get()   << "\n";
37     }
38 } //namespace std
39
40 #endif // #ifndef CDSUNIT_PRINT_ELLENBINTREE_STAT_H