Index: trunk/FACT++/src/queue.h
===================================================================
--- trunk/FACT++/src/queue.h	(revision 16527)
+++ trunk/FACT++/src/queue.h	(revision 16528)
@@ -7,6 +7,10 @@
 
 template<class T>
-class Queue : std::list<T>
+class Queue
 {
+    size_t fSize;                 // Only necessary for before C++11
+
+    std::list<T> fList;
+
     std::mutex fMutex;        // Mutex needed for the conditional
     std::condition_variable fCond; // Conditional
@@ -19,6 +23,4 @@
         kAbort,
     };
-
-    size_t fSize;                 // Only necessary for before C++11
 
     state_t fState;               // Stop signal for the thread
@@ -35,5 +37,5 @@
         while (1)
         {
-            while (std::list<T>::empty() && fState==kRun)
+            while (fList.empty() && fState==kRun)
                 fCond.wait(lock);
 
@@ -41,8 +43,8 @@
                 break;
 
-            if (fState==kStop && std::list<T>::empty())
+            if (fState==kStop && fList.empty())
                 break;
 
-            const T &val = std::list<T>::front();
+            const T &val = fList.front();
 
             // Theoretically, we can loose a signal here, but this is
@@ -55,9 +57,9 @@
             lock.lock();
 
-            std::list<T>::pop_front();
+            fList.pop_front();
             fSize--;
         }
 
-        std::list<T>::clear();
+        fList.clear();
         fSize = 0;
 
@@ -134,5 +136,5 @@
             return false;
 
-        std::list<T>::push_back(val);
+        fList.push_back(val);
         fSize++;
 
@@ -150,5 +152,5 @@
             return false;
 
-        std::list<T>::emplace_back(__args...);
+        fList.emplace_back(__args...);
         fSize++;
 
@@ -166,4 +168,9 @@
         return fSize;
     }
+
+    bool empty() const
+    {
+        return fSize==0;
+    }
 };
 
