Ошибка Qt # 54685 имеет явное подтверждение от разработчиков Qt, что типы перемещения не поддерживаются (и никогда не будут) из-за неявного совместного использования контейнеров Qt .
Когда вы копируете один контейнер Qt в другой, вы не делаете глубокую копию - контейнеры совместно используют их содержимое внутри. Только когда вызывающая функция вызывается в контейнере, она отделяется, создавая собственную локальную копию содержимого. Это позволяет контейнерам Qt проходить через сигналы и слоты (что обязательно по значению) без снижения производительности.
Это, конечно, было бы невозможно, если содержащийся тип только для перемещения. И способность пропускать контейнеры по значению (без копирования их содержимого) имеет основополагающее значение для метаобъектного механизма Qt, поэтому я не думаю, что его можно было бы перепроектировать. API-интерфейсы Qt полагаются на неявное совместное использование и пропускают контейнеры по значению, даже если контейнер с переносом будет передаваться по ссылке, поэтому нет простого выхода.
Node.js имеет действительно хорошие модули, которые могут обрабатывать сжатие и шифрование.
Документы также содержат примеры использования этих модулей, поэтому обязательно проверьте их