MSQueue, MoirQueue refactoring done (issues #1, #2, #3)
[libcds.git] / tests / unit / queue / intrusive_queue_type.h
index 0336a56e3264c42d7f3ebb1a5519992548afda47..c5527b88361c6fd757bf1cc41c31a92f5579ee33 100644 (file)
@@ -428,6 +428,24 @@ namespace queue {
 namespace std {
 
     // cds::intrusive::queue_stat
+    template <typename Counter>
+    static inline std::ostream& operator <<(std::ostream& o, cds::intrusive::queue_stat<Counter> const& s)
+    {
+        return o
+            << "\tStatistics:\n"
+            << "\t\t     Enqueue count: " << s.m_EnqueueCount.get() << "\n"
+            << "\t\t      Enqueue race: " << s.m_EnqueueRace.get() << "\n"
+            << "\t\t     Dequeue count: " << s.m_DequeueCount.get() << "\n"
+            << "\t\t      Dequeue race: " << s.m_DequeueRace.get() << "\n"
+            << "\t\tAdvance tail error: " << s.m_AdvanceTailError.get() << "\n"
+            << "\t\t          Bad tail: " << s.m_BadTail.get() << "\n";
+    }
+    static inline std::ostream& operator <<(std::ostream& o, cds::intrusive::queue_dummy_stat const& s)
+    {
+        return o;
+    }
+
+
     template <typename Counter>
     static inline std::ostream& operator <<( std::ostream& o, cds::intrusive::msqueue::stat<Counter> const& s )
     {