26 #include <boost/thread.hpp>
27 #include <boost/date_time.hpp>
38 void push(
const T& item) {
39 boost::mutex::scoped_lock lock(pushMutex);
40 stack.push_back(item);
44 boost::mutex::scoped_lock popLock(popMutex);
45 boost::mutex::scoped_lock pushLock(pushMutex);
51 boost::this_thread::sleep(boost::posix_time::milliseconds(50));
55 T item = (T)stack.back();
66 boost::mutex::scoped_lock popLock(popMutex);
67 boost::mutex::scoped_lock pushLock(pushMutex);
68 std::vector<T> clone = stack;
75 mutable boost::mutex pushMutex;
76 mutable boost::mutex popMutex;
Definition: repo_connection_pool_mongo.h:32
std::vector< T > empty()
Definition: repo_stack.h:64
Definition: repo_stack.h:32