Advertisement
Guest User

Untitled

a guest
Mar 25th, 2012
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. template<typename T> class thread_unique_resource {
  2. concurrent_queue<T> queue;
  3. public:
  4. struct Handle {
  5. Handle(thread_unique_resource* owner) {
  6. owner = ptr;
  7. }
  8. // Appropriate move constructors
  9. T t;
  10. thread_unique_resource* ptr;
  11. ~Handle() {
  12. ptr->queue->push(std::move(t));
  13. }
  14. }
  15. Handle get() {
  16. Handle ret;
  17. queue.try_pop(ret.t);
  18. return ret;
  19. }
  20. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement