Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-112302

QThreadPool::start() overload taking move-only functions

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 6.4.3
    • None
    • c080d1e64 (dev)

      QThreadPool::start() has an overload that takes a std::function. However, since std::function must be copyable, it's not possible to pass move-only lambdas. For example

      FileDescriptor fd{42};
      // FileDescriptor is move only
      
      QThreadPool::globalInstance()->start([fd = std::move(fd)]() mutable {
          // some work
          flush(std::move(fd)); // move the file descriptor ownership to flush()
      });
      

        For Gerrit Dashboard: QTBUG-112302
        # Subject Branch Project Status CR V

            allan.jensen Allan Sandfeld Jensen
            zzag Vlad Zahorodnii
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes