tbb::concurrent_queue push and pop with move semantics

tbb::concurrent_queue push and pop with move semantics

Hello Intel,

I'm writing a c++11-native set of libraries and am using std::unique_ptr<> - style pointers in all relevant circumstances. I see that the tbb::concurrent_queue push signature requires a copy. 

Would you please consider adding a std::move-enabled move to your push and pop signatures, as in:

void push( const T&& source );

bool try_pop( T&& destination );

Perhaps under the covers this is a bad idea, but I don't see why it would be. 

Thank you,

-Jay

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Thank you for suggestion. Will see what we can do. It looks reasonable.

Thank you Wooyoung. Its probably obvious that many tbb containers etc could benefit, not just concurrent_queue as per my first inquiry. 

Regards -Jay

Is there any chance that concurrent_bounded_queue will support std::uniqie_ptr? Current release of the TBB is 4.4. Seems concurrent_priority_queue already supports it. Any plans regarding the concurrent_bounded_queue?

#1P4 push(const T&&) makes no sense: an rvalue reference is intended to be plundered. Or did I miss something?

#4P1 I think you missed something.

Leave a Comment

Please sign in to add a comment. Not a member? Join today