3 #ifndef CDSUNIT_PRINT_ELLENBINTREE_STAT_H
4 #define CDSUNIT_PRINT_ELLENBINTREE_STAT_H
6 #include "ellen_bintree_update_desc_pool.h"
10 static inline ostream& operator <<( ostream& o, cds::intrusive::ellen_bintree::empty_stat const& /*s*/ )
15 static inline ostream& operator <<( ostream& o, cds::intrusive::ellen_bintree::stat<> const& s )
17 return o << "\nEllenBinTree statistics [cds::intrusive::ellen_bintree::stat]:\n"
18 << "\t\t Internal node allocated: " << ellen_bintree_pool::internal_node_counter::m_nAlloc.get() << "\n"
19 << "\t\t Internal node freed: " << ellen_bintree_pool::internal_node_counter::m_nFree.get() << "\n"
20 << "\t\t m_nInternalNodeCreated: " << s.m_nInternalNodeCreated.get() << "\n"
21 << "\t\t m_nInternalNodeDeleted: " << s.m_nInternalNodeDeleted.get() << "\n"
22 << "\t\t m_nUpdateDescCreated: " << s.m_nUpdateDescCreated.get() << "\n"
23 << "\t\t m_nUpdateDescDeleted: " << s.m_nUpdateDescDeleted.get() << "\n"
24 << "\t\t m_nInsertSuccess: " << s.m_nInsertSuccess.get() << "\n"
25 << "\t\t m_nInsertFailed: " << s.m_nInsertFailed.get() << "\n"
26 << "\t\t m_nInsertRetries: " << s.m_nInsertRetries.get() << "\n"
27 << "\t\t m_nEnsureExist: " << s.m_nEnsureExist.get() << "\n"
28 << "\t\t m_nEnsureNew: " << s.m_nEnsureNew.get() << "\n"
29 << "\t\t m_nEnsureRetries: " << s.m_nEnsureRetries.get() << "\n"
30 << "\t\t m_nEraseSuccess: " << s.m_nEraseSuccess.get() << "\n"
31 << "\t\t m_nEraseFailed: " << s.m_nEraseFailed.get() << "\n"
32 << "\t\t m_nEraseRetries: " << s.m_nEraseRetries.get() << "\n"
33 << "\t\t m_nFindSuccess: " << s.m_nFindSuccess.get() << "\n"
34 << "\t\t m_nFindFailed: " << s.m_nFindFailed.get() << "\n"
35 << "\t\t m_nExtractMinSuccess: " << s.m_nExtractMinSuccess.get() << "\n"
36 << "\t\t m_nExtractMinFailed: " << s.m_nExtractMinFailed.get() << "\n"
37 << "\t\t m_nExtractMinRetries: " << s.m_nExtractMinRetries.get() << "\n"
38 << "\t\t m_nExtractMaxSuccess: " << s.m_nExtractMaxSuccess.get() << "\n"
39 << "\t\t m_nExtractMaxFailed: " << s.m_nExtractMaxFailed.get() << "\n"
40 << "\t\t m_nExtractMaxRetries: " << s.m_nExtractMaxRetries.get() << "\n"
41 << "\t\t m_nSearchRetry: " << s.m_nSearchRetry.get() << "\n"
42 << "\t\t m_nHelpInsert: " << s.m_nHelpInsert.get() << "\n"
43 << "\t\t m_nHelpDelete: " << s.m_nHelpDelete.get() << "\n"
44 << "\t\t m_nHelpMark: " << s.m_nHelpMark.get() << "\n"
45 << "\t\t m_nHelpGuardSuccess: " << s.m_nHelpGuardSuccess.get() << "\n"
46 << "\t\t m_nHelpGuardFailed: " << s.m_nHelpGuardFailed.get() << "\n";
50 #endif // #ifndef CDSUNIT_PRINT_ELLENBINTREE_STAT_H