Browse Source

Enhancement: correct emplace_ functions using perfect-forwarding

Release_3.2
heck 3 years ago
parent
commit
176eed4dc7
  1. 10
      src/locked_queue.hh

10
src/locked_queue.hh

@ -137,20 +137,22 @@ namespace utility {
_cv.notify_one(); _cv.notify_one();
} }
void emplace_back(const T&& data) template< class... Args >
void emplace_back( Args&&... args )
{ {
{ {
Lock L(_mtx); Lock L(_mtx);
_q.emplace_back(data); _q.emplace_back( std::forward<Args>(args)... );
} }
_cv.notify_one(); _cv.notify_one();
} }
void emplace_front(const T&& data) template< class... Args >
void emplace_front( Args&&... args )
{ {
{ {
Lock L(_mtx); Lock L(_mtx);
_q.emplace_front(data); _q.emplace_front( std::forward<Args>(args)... );
} }
_cv.notify_one(); _cv.notify_one();
} }

Loading…
Cancel
Save