Я использую встроенную библиотеку с шаблонами с etl::queue
https://www.etlcpp.com/queue.html
etl::queue
не имеет значения std::queue
Чтобы избежать копирования, я бы хотел переместить элемент в очередь.
Теперь моя настройка выглядит так
bool CETLConcurrentQueue<ElementType_T, u32QueueSize>::Add(ElementType_T &&element, const uint32_t u32Timeout)
{
//lock mutex...
queue.push(element);
//do further stuff
}
Теперь я не использую queue.push(std::move(element));
поскольку элемент уже является rvalue Ссылка
Однако queue.push(element);
вызывает конструктор копирования элементов (который удаляется). Как я могу вместо этого вызвать конструктор перемещения элементов?