<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="class">
    <name>ThreadWeaver::Collection</name>
    <filename>classThreadWeaver_1_1Collection.html</filename>
    <base>ThreadWeaver::Job</base>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>addJob</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>ad00ee5f5584f347933434279788da0fe</anchor>
      <arglist>(JobPointer)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>elementCount</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>a278af1069650124293ec47a451a13c8c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>jobListLength</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>a2fc56173c8f98d82502b6c5476d382d6</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>Collection &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>a81332bd6aa64a6c88cf95770ae30d633</anchor>
      <arglist>(ThreadWeaver::JobInterface *job)</arglist>
    </member>
    <member kind="function">
      <type>Collection &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>acc31f8099291ef83116e14d2286218ce</anchor>
      <arglist>(const ThreadWeaver::JobPointer &amp;job)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stop</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>a3f851dfc753805c193c3b188f3c71783</anchor>
      <arglist>(ThreadWeaver::JobPointer job)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>aboutToBeDequeued_locked</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>ae3543834576f2ad09068a107710e9dd1</anchor>
      <arglist>(QueueAPI *api) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>aboutToBeQueued_locked</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>a6d8ed89994f43b1ceb09d526c596592b</anchor>
      <arglist>(QueueAPI *api) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>execute</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>a6fd1ee8eb34cc57ca347de8267ff51b9</anchor>
      <arglist>(const JobPointer &amp;job, Thread *) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>JobPointer</type>
      <name>jobAt</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>af457b60cff2ab2793892adb09c90ea1b</anchor>
      <arglist>(int i)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual int</type>
      <name>jobListLength_locked</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>abbc0fafe0800f34808cc7a7815f05a84</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>run</name>
      <anchorfile>classThreadWeaver_1_1Collection.html</anchorfile>
      <anchor>abd716dfd85107e27cf5cf768784c32e4</anchor>
      <arglist>(JobPointer self, Thread *thread) override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::DependencyPolicy</name>
    <filename>classThreadWeaver_1_1DependencyPolicy.html</filename>
    <base>ThreadWeaver::QueuePolicy</base>
    <member kind="function">
      <type></type>
      <name>~DependencyPolicy</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>a7599a60fe1ce9b3e09c62be364bc43b3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addDependency</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>ae3fd1cc02382aacfd02645f455a3a16e</anchor>
      <arglist>(JobPointer jobA, JobPointer jobB)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>canRun</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>a60a7848b8fcedd79ea6243393df70a82</anchor>
      <arglist>(JobPointer) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>destructed</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>a980c1c2fb5264abf79f227e5ecfdb100</anchor>
      <arglist>(JobInterface *job) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>free</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>aeaf3cb8e1efd97a110b3c232457305b9</anchor>
      <arglist>(JobPointer) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>release</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>af968786bfdc461ec9fa4bf7b05bd2553</anchor>
      <arglist>(JobPointer) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>removeDependency</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>a566a379a06fd2b20198ceba1bef139f8</anchor>
      <arglist>(JobPointer jobA, JobPointer jobB)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resolveDependencies</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>acfc9e73a72fc5d6e85e8c235ed6cd667</anchor>
      <arglist>(JobPointer)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static DependencyPolicy &amp;</type>
      <name>instance</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>ada971f629d5ffdbdcea367cbfcfc835d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>hasUnresolvedDependencies</name>
      <anchorfile>classThreadWeaver_1_1DependencyPolicy.html</anchorfile>
      <anchor>ab91558d7146cf2bf17163bf6525d23c8</anchor>
      <arglist>(JobPointer) const</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::DestructedState</name>
    <filename>classThreadWeaver_1_1DestructedState.html</filename>
    <base>ThreadWeaver::WeaverImplState</base>
    <member kind="function">
      <type>int</type>
      <name>currentNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>ac3b9cc68b2d4a4b3def4913246c9afae</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>af2dc9f9c17eb3408e76e3041e65dab89</anchor>
      <arglist>(const JobPointer &amp;job) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a770950c089d4e0ac916d52cf3a7ddebd</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enqueue</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>aaf9f654a295ed3ccfaf676c6bbdef76a</anchor>
      <arglist>(const QVector&lt; JobPointer &gt; &amp;job) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>finish</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a689e522525dfbf6999a71dfdd2f9a5bc</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEmpty</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a6ae1b8cd6c67826918aefce91f24815a</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isIdle</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a88ed3580b6bd5b442d031e8c78878ef0</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>maximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a1da5f02e30827dbc1f034fa091619300</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>queueLength</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a176fa8a52d9c5fae70d07edcfff740ca</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a27f7c0a3fa7e0928a2cd0bf2ba8ac7e2</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>abd9444d5491dd3be24848d88a16e627e</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a9ef4b1261511243695c5d00d1ed9ec99</anchor>
      <arglist>(int cap) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>shutDown</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>aeb4e114208d04a5d39697e7d11098575</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>StateId</type>
      <name>stateId</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a010e909bc2e6a745ac1688ca0f147595</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a57d6577bf58e5a5698fc0ee9507a3b90</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>Weaver *</type>
      <name>weaver</name>
      <anchorfile>classThreadWeaver_1_1DestructedState.html</anchorfile>
      <anchor>a75143f840e364fd73658307d51421442</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ThreadWeaver::Queue::GlobalQueueFactory</name>
    <filename>structThreadWeaver_1_1Queue_1_1GlobalQueueFactory.html</filename>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::IdDecorator</name>
    <filename>classThreadWeaver_1_1IdDecorator.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>autoDelete</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>ac4506d99e65a07a2debc8cc6a39040f7</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const Collection *</type>
      <name>collection</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>ab8c5ff74bf2148bcbed8973f37e6bbce</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>Collection *</type>
      <name>collection</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>ab949c84a74792deddc04163ff5711700</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const JobInterface *</type>
      <name>job</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>a8445263b5a7b1f94b5d5ad25eecfe910</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>JobInterface *</type>
      <name>job</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>a7aaf650f904b1aca91153c0cf54bdb57</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const Sequence *</type>
      <name>sequence</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>a59f896eeb557b3cdaf796656e12b7688</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>Sequence *</type>
      <name>sequence</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>a0338f6b2e65b3f1c0bfc5cff82ded9ad</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setAutoDelete</name>
      <anchorfile>classThreadWeaver_1_1IdDecorator.html</anchorfile>
      <anchor>ad2e5051369cef44632d813046102c52a</anchor>
      <arglist>(bool onOff)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::InConstructionState</name>
    <filename>classThreadWeaver_1_1InConstructionState.html</filename>
    <base>ThreadWeaver::WeaverImplState</base>
    <member kind="function">
      <type>JobPointer</type>
      <name>applyForWork</name>
      <anchorfile>classThreadWeaver_1_1InConstructionState.html</anchorfile>
      <anchor>ac537efeb4ca49a4edba777b755945223</anchor>
      <arglist>(Thread *th, bool wasBusy) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1InConstructionState.html</anchorfile>
      <anchor>a846df92511ee1cabc4feed37ffa4f2d0</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>StateId</type>
      <name>stateId</name>
      <anchorfile>classThreadWeaver_1_1InConstructionState.html</anchorfile>
      <anchor>a20a51202b6633158c1140c1458a9d4fe</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1InConstructionState.html</anchorfile>
      <anchor>a30c6dbb3ec4d4985957fc3305685acf6</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::Job</name>
    <filename>classThreadWeaver_1_1Job.html</filename>
    <member kind="function">
      <type></type>
      <name>Job</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a8105c40c495f4546fb4001477cf0d9c9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Job</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>af2f5685b9ce5324adc710035edba2fa2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>aboutToBeDequeued</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a4de6ba1129b7687f47ec9c60f882267e</anchor>
      <arglist>(QueueAPI *api) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>aboutToBeDequeued_locked</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a7d11fd843f04c185881ac2f8ae379784</anchor>
      <arglist>(QueueAPI *api) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>aboutToBeQueued</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a82ecab7e83f81226d0a22b3c15800812</anchor>
      <arglist>(QueueAPI *api) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>aboutToBeQueued_locked</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>abdf77d61d567fbe1decf56cf2582a37a</anchor>
      <arglist>(QueueAPI *api) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>assignQueuePolicy</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a5179738c000ddb77922171f922d416f1</anchor>
      <arglist>(QueuePolicy *) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>blockingExecute</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a22e29b81c2b197cfa30cbf5a6e4bb9bd</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>execute</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>aa819d585d4fe4ff38d783aea122e95a9</anchor>
      <arglist>(const JobPointer &amp;job, Thread *) override</arglist>
    </member>
    <member kind="function">
      <type>Executor *</type>
      <name>executor</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a7b3be1123e0e01fec84ebc2c1ac0d495</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isFinished</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a69e29e89f6fff68fbffb49c4a3708835</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>QMutex *</type>
      <name>mutex</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>aadbc83319da1929c881be659cda53755</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>priority</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a827dc9e3593d250c72a8d932c2d98a8a</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>QList&lt; QueuePolicy * &gt;</type>
      <name>queuePolicies</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a71fc99211dcb60873f510fcd82e22198</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>removeQueuePolicy</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a66cd1eba18c0bde6375b9738ace5a337</anchor>
      <arglist>(QueuePolicy *) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>aeaf00e5e06bc6961692811cfb86ac513</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>Executor *</type>
      <name>setExecutor</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a840f6db8f19ce5127a3f410c4597ce09</anchor>
      <arglist>(Executor *executor) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setStatus</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a7d3c52ef9b4a4daedfd6bf6e3514c26a</anchor>
      <arglist>(Status) override</arglist>
    </member>
    <member kind="function">
      <type>Status</type>
      <name>status</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a44fc85172279e63a21795df90f05385e</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>success</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>aafa5567244ba390ce7727527b56e7bdd</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>defaultBegin</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a05b8a4e15e3b3cb21503e3f01c375ce5</anchor>
      <arglist>(const JobPointer &amp;job, Thread *thread) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>defaultEnd</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>af28c0271dc65fecca6a2e98ee55fb6e9</anchor>
      <arglist>(const JobPointer &amp;job, Thread *thread) override</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual void</type>
      <name>run</name>
      <anchorfile>classThreadWeaver_1_1Job.html</anchorfile>
      <anchor>a8e2da93f04470053e13d8f64e9042d28</anchor>
      <arglist>(JobPointer self, Thread *thread) override=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::Lambda</name>
    <filename>classThreadWeaver_1_1Lambda.html</filename>
    <templarg></templarg>
    <base>ThreadWeaver::Job</base>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>run</name>
      <anchorfile>classThreadWeaver_1_1Lambda.html</anchorfile>
      <anchor>a28054d3c0788c2c7dfeab6bb8ab97d71</anchor>
      <arglist>(JobPointer, Thread *) override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::Queue</name>
    <filename>classThreadWeaver_1_1Queue.html</filename>
    <base>ThreadWeaver::QueueSignals</base>
    <class kind="struct">ThreadWeaver::Queue::GlobalQueueFactory</class>
    <member kind="function">
      <type></type>
      <name>Queue</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>aa49dd7b07e021bf81be390a31c961fb3</anchor>
      <arglist>(QueueSignals *implementation, QObject *parent=nullptr)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>currentNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>aebf6866ad28c8cf320d5cb6721c94aa0</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a6c92eacc4d590d27d5ad5bd3678e759c</anchor>
      <arglist>(const JobPointer &amp;) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a75d823b88514d1ac0fad75913eb5a305</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enqueue</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a0f80282b6cff9889eec1017807c4f494</anchor>
      <arglist>(const QVector&lt; JobPointer &gt; &amp;jobs) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>finish</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>affcae982f91838314ee89ab5c1ddc18c</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEmpty</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a70273acfe51ef2072220cf8f0e76a70d</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isIdle</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>ac30a8b1ce65e16b924fbd26013bc33b9</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>maximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a5f7fbddfa828b7f8a3cf4c6f71a353e1</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>queueLength</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a8b910947c58e0439c6cf7c1b8f4778a2</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a6b079513f958b1b8ff4bd0f6cc7d12b6</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reschedule</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a2be4d0433f4e186fa670dbbfd5a5ff78</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a025baac9f235c9dda816e14bfca9c233</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>ad1573a7235fadb7c581afabeac635cca</anchor>
      <arglist>(int cap) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>shutDown</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a24439e187448e4dd50278958a77cd09d</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>const State *</type>
      <name>state</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a9bebe85a5339049740f2c61fc94ee55c</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1Queue.html</anchorfile>
      <anchor>a35b6731d4bdbff59e1a201be8e2a3907</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::QueueInterface</name>
    <filename>classThreadWeaver_1_1QueueInterface.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual int</type>
      <name>currentNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a928f7499fe5d1f72a976f14074ebf891</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>abd20fc4d10820ee824650abd73defd46</anchor>
      <arglist>(const JobPointer &amp;job)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>aa89c5294791fa8914ee977a0ebc63a6a</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>enqueue</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a172d987d1cbc3033aa71ee9fa13b7b5b</anchor>
      <arglist>(const QVector&lt; JobPointer &gt; &amp;jobs)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>finish</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a9a6b098cf90f758f5da78d70cb7615ea</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>isEmpty</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a1f810dd3b8d1e4c0e058b6de5aa8e48b</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>isIdle</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a8bf78f21b72d57a4254b8b81bbd6e4e1</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual int</type>
      <name>maximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>ac207c5d7e6804612503995cf304c3e08</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual int</type>
      <name>queueLength</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>acc32ffc6c16497583e8f43f395e657ac</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a291bd3a6d6ca66b5226cf29d8093a8b4</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>reschedule</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>aef81db4a0d862e98b4830d2edf917dcb</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>af92f280432eba8dd27cd2a7a7248d46e</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>setMaximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>ae42927fbabe91b73c77c78da103351f7</anchor>
      <arglist>(int cap)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>shutDown</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>ace5267019460562dc1b40929100fe477</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual const State *</type>
      <name>state</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>a8bbaa9bacd8179026a2ad2c5a24f8dcd</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1QueueInterface.html</anchorfile>
      <anchor>aebc07b5e060cbef49e4388dd6d05ea0a</anchor>
      <arglist>()=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::QueuePolicy</name>
    <filename>classThreadWeaver_1_1QueuePolicy.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>canRun</name>
      <anchorfile>classThreadWeaver_1_1QueuePolicy.html</anchorfile>
      <anchor>af6e0f03b0c3d294bfa7250a639230488</anchor>
      <arglist>(JobPointer)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>destructed</name>
      <anchorfile>classThreadWeaver_1_1QueuePolicy.html</anchorfile>
      <anchor>a2eaba97532598c11c28a0c8b8de1fc2a</anchor>
      <arglist>(JobInterface *job)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>free</name>
      <anchorfile>classThreadWeaver_1_1QueuePolicy.html</anchorfile>
      <anchor>ad5d58077a5b8e9e1ebd8e633d1a9d23c</anchor>
      <arglist>(JobPointer)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>release</name>
      <anchorfile>classThreadWeaver_1_1QueuePolicy.html</anchorfile>
      <anchor>adce3dbf34127357e58ced2d139eb2941</anchor>
      <arglist>(JobPointer)=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::QueueSignals</name>
    <filename>classThreadWeaver_1_1QueueSignals.html</filename>
    <base>ThreadWeaver::QueueInterface</base>
    <member kind="signal">
      <type>void</type>
      <name>finished</name>
      <anchorfile>classThreadWeaver_1_1QueueSignals.html</anchorfile>
      <anchor>abd71f31a881642acbf36bdfae24b7df3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="signal">
      <type>void</type>
      <name>stateChanged</name>
      <anchorfile>classThreadWeaver_1_1QueueSignals.html</anchorfile>
      <anchor>af3561d6507dfa12e477236479550a167</anchor>
      <arglist>(ThreadWeaver::State *)</arglist>
    </member>
    <member kind="signal">
      <type>void</type>
      <name>suspended</name>
      <anchorfile>classThreadWeaver_1_1QueueSignals.html</anchorfile>
      <anchor>ae98e243c1f53ec70875ffb4bdbba8bdf</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::QueueStream</name>
    <filename>classThreadWeaver_1_1QueueStream.html</filename>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::ResourceRestrictionPolicy</name>
    <filename>classThreadWeaver_1_1ResourceRestrictionPolicy.html</filename>
    <base>ThreadWeaver::QueuePolicy</base>
    <member kind="function">
      <type>bool</type>
      <name>canRun</name>
      <anchorfile>classThreadWeaver_1_1ResourceRestrictionPolicy.html</anchorfile>
      <anchor>a958cf9c19e0f693f0ca897e82345daff</anchor>
      <arglist>(JobPointer) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>destructed</name>
      <anchorfile>classThreadWeaver_1_1ResourceRestrictionPolicy.html</anchorfile>
      <anchor>a41559288c66aaeeddf80e24f60558b6e</anchor>
      <arglist>(JobInterface *job) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>free</name>
      <anchorfile>classThreadWeaver_1_1ResourceRestrictionPolicy.html</anchorfile>
      <anchor>a59fad26b417a596375c3aa03af355470</anchor>
      <arglist>(JobPointer) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>release</name>
      <anchorfile>classThreadWeaver_1_1ResourceRestrictionPolicy.html</anchorfile>
      <anchor>a5ad702ac0a4dfbbcf6be64551cab45c6</anchor>
      <arglist>(JobPointer) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCap</name>
      <anchorfile>classThreadWeaver_1_1ResourceRestrictionPolicy.html</anchorfile>
      <anchor>a545aa35e429c184eff0e9240a0a07a82</anchor>
      <arglist>(int newCap)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::Sequence</name>
    <filename>classThreadWeaver_1_1Sequence.html</filename>
    <base>ThreadWeaver::Collection</base>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::ShuttingDownState</name>
    <filename>classThreadWeaver_1_1ShuttingDownState.html</filename>
    <base>ThreadWeaver::WeaverImplState</base>
    <member kind="function">
      <type>JobPointer</type>
      <name>applyForWork</name>
      <anchorfile>classThreadWeaver_1_1ShuttingDownState.html</anchorfile>
      <anchor>ad5a6b8a809a080be2c32337a5f7a187e</anchor>
      <arglist>(Thread *th, bool wasBusy) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1ShuttingDownState.html</anchorfile>
      <anchor>a9a52ac09c8bf1a860357214e5efd46b8</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>shutDown</name>
      <anchorfile>classThreadWeaver_1_1ShuttingDownState.html</anchorfile>
      <anchor>a9532c7677e6711b3778510e6ec4ebab2</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>StateId</type>
      <name>stateId</name>
      <anchorfile>classThreadWeaver_1_1ShuttingDownState.html</anchorfile>
      <anchor>a2f16275e7178f65284d25d706a61d640</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1ShuttingDownState.html</anchorfile>
      <anchor>aa3b268e1a79e0d699650b44ab9a087a0</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>waitForAvailableJob</name>
      <anchorfile>classThreadWeaver_1_1ShuttingDownState.html</anchorfile>
      <anchor>a833f70324d37ff3802bb587cf0b4a2d0</anchor>
      <arglist>(Thread *th) override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::State</name>
    <filename>classThreadWeaver_1_1State.html</filename>
    <base>ThreadWeaver::QueueInterface</base>
    <member kind="function">
      <type></type>
      <name>State</name>
      <anchorfile>classThreadWeaver_1_1State.html</anchorfile>
      <anchor>a615d3b3770c1ceb64f00ea250e4effad</anchor>
      <arglist>(QueueSignals *weaver)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~State</name>
      <anchorfile>classThreadWeaver_1_1State.html</anchorfile>
      <anchor>a65fd116415cb8f84953a4e22abfb2d34</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>activated</name>
      <anchorfile>classThreadWeaver_1_1State.html</anchorfile>
      <anchor>a7f1c86d7a3ffd51772b4b482e019e350</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual StateId</type>
      <name>stateId</name>
      <anchorfile>classThreadWeaver_1_1State.html</anchorfile>
      <anchor>acecc39d949a0cb27827b8300c6b6f2cf</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function">
      <type>QString</type>
      <name>stateName</name>
      <anchorfile>classThreadWeaver_1_1State.html</anchorfile>
      <anchor>a49b04e0f3f3a188aa51c2cc604486b12</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual QueueInterface *</type>
      <name>weaver</name>
      <anchorfile>classThreadWeaver_1_1State.html</anchorfile>
      <anchor>aae1d463aeb20a624593bd9d6a2571436</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::SuspendedState</name>
    <filename>classThreadWeaver_1_1SuspendedState.html</filename>
    <base>ThreadWeaver::WeaverImplState</base>
    <member kind="function">
      <type>JobPointer</type>
      <name>applyForWork</name>
      <anchorfile>classThreadWeaver_1_1SuspendedState.html</anchorfile>
      <anchor>ab5a81f9b488b68616b561bd9c2bb17d9</anchor>
      <arglist>(Thread *th, bool wasBusy) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1SuspendedState.html</anchorfile>
      <anchor>a8947677db0b840d7feabaad730569d22</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>StateId</type>
      <name>stateId</name>
      <anchorfile>classThreadWeaver_1_1SuspendedState.html</anchorfile>
      <anchor>aafbbc570cf2ae2178f5f6f4c7473095c</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1SuspendedState.html</anchorfile>
      <anchor>a4eff6fac9364c0e036e3681183f9c4d9</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::SuspendingState</name>
    <filename>classThreadWeaver_1_1SuspendingState.html</filename>
    <base>ThreadWeaver::WeaverImplState</base>
    <member kind="function">
      <type>void</type>
      <name>activated</name>
      <anchorfile>classThreadWeaver_1_1SuspendingState.html</anchorfile>
      <anchor>aa1064bf624902bf63a6448fd179c6117</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>JobPointer</type>
      <name>applyForWork</name>
      <anchorfile>classThreadWeaver_1_1SuspendingState.html</anchorfile>
      <anchor>a5fbfe56b397621a688586c6e55f52609</anchor>
      <arglist>(Thread *th, bool wasBusy) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1SuspendingState.html</anchorfile>
      <anchor>a870f883391f2ed91363a58f51a69a3ef</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>StateId</type>
      <name>stateId</name>
      <anchorfile>classThreadWeaver_1_1SuspendingState.html</anchorfile>
      <anchor>a0ed584df1388b625d76b17b1944a54d9</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1SuspendingState.html</anchorfile>
      <anchor>a1cedcc8320b3716a19fc08ccba5e7795</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::Thread</name>
    <filename>classThreadWeaver_1_1Thread.html</filename>
    <member kind="signal">
      <type>void</type>
      <name>started</name>
      <anchorfile>classThreadWeaver_1_1Thread.html</anchorfile>
      <anchor>a6fbaeb321332604dab2ea070958a8afd</anchor>
      <arglist>(ThreadWeaver::Thread *)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Thread</name>
      <anchorfile>classThreadWeaver_1_1Thread.html</anchorfile>
      <anchor>a3540b48ae814721e20b2fe7bea22a6df</anchor>
      <arglist>(Weaver *parent=nullptr)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Thread</name>
      <anchorfile>classThreadWeaver_1_1Thread.html</anchorfile>
      <anchor>ad86c6d3ab531ad3beca4a7d1f0391ee2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>unsigned int</type>
      <name>id</name>
      <anchorfile>classThreadWeaver_1_1Thread.html</anchorfile>
      <anchor>ad6ad1b56a565741246fa6200381a3149</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1Thread.html</anchorfile>
      <anchor>aa1fe97bb23cccb086a614f78e01e8a8c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>run</name>
      <anchorfile>classThreadWeaver_1_1Thread.html</anchorfile>
      <anchor>a779c876cbf806229004c1d2f3fbe7feb</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::Weaver</name>
    <filename>classThreadWeaver_1_1Weaver.html</filename>
    <member kind="signal">
      <type>void</type>
      <name>threadExited</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>ac343d3c09700a0f92bd88bbeb48840aa</anchor>
      <arglist>(ThreadWeaver::Thread *)</arglist>
    </member>
    <member kind="signal">
      <type>void</type>
      <name>threadStarted</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>ad47dc5a5aa24619345385b89c578a7b8</anchor>
      <arglist>(ThreadWeaver::Thread *)</arglist>
    </member>
    <member kind="signal">
      <type>void</type>
      <name>threadSuspended</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a375955722cf4fb5cc6e8d9785297c53e</anchor>
      <arglist>(ThreadWeaver::Thread *)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>currentNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>ab0645707e80466b2341c966c6769776a</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>ade24c159461e30dd27ab0b08c64b60ef</anchor>
      <arglist>(const JobPointer &amp;job) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a5d9c428417f76ba2c80a05c62223d1c1</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enqueue</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>ad600ccdccc72e2485c1d9bbd4d2500c7</anchor>
      <arglist>(const QVector&lt; JobPointer &gt; &amp;jobs) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>finish</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a3a856464b31322b31359115b2ca8d6e1</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEmpty</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a48522922fff118ff203004d4d0d7bf32</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isIdle</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a75d234058c198e2ce7f6a9772e2be026</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>maximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>adae74ca319940de71e9f70e82de8d6b1</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>queueLength</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>aeffb9c8824a2ffa1ac7b907bd11ecc68</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>aa0e84d4728f6401c422e3137a2521479</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reschedule</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a6b986c02725213d699fd63bc2af6165e</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resume</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a8064e1c5793f17fb7ed9efb5cf8b549b</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a0f63e9f0f7d9a8384bc5228cc26c3405</anchor>
      <arglist>(int cap) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>shutDown</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>ac2f7c766e03d8d605250e290d9d8aa0a</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>const State *</type>
      <name>state</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>a53d29f0bc49c1e04c6b34f62d3001c88</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>suspend</name>
      <anchorfile>classThreadWeaver_1_1Weaver.html</anchorfile>
      <anchor>afa3304c6d104c4bde1c2ce5047437684</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ThreadWeaver::WeaverImplState</name>
    <filename>classThreadWeaver_1_1WeaverImplState.html</filename>
    <base>ThreadWeaver::State</base>
    <member kind="function">
      <type>int</type>
      <name>currentNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a467b86040d3a4c0c689d70841416fe45</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>afe633a63efe8c3a036621694b74d6129</anchor>
      <arglist>(const JobPointer &amp;job) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dequeue</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a4078885678b40501d3204d2ae555fcbf</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enqueue</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>aedb626b71308125d3332f28753145d94</anchor>
      <arglist>(const QVector&lt; JobPointer &gt; &amp;jobs) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>finish</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a32a626ddcf35aa90f8b7a78b0c6fe991</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEmpty</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>af627849de831d4dc9f9d9e79ea033098</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isIdle</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a96533ac2967cc239b8839c5e50b88799</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>maximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>aee5c2ca1d28efb0ef30f2a1942197c2c</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>queueLength</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a3e4b090ba5cc8735c23d75d727461cc6</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestAbort</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>aa24fafce3d4a8c9ffd041ecf3f672517</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reschedule</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a3fc2694ec923266860d0951d08ca9865</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaximumNumberOfThreads</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>ad312f13856c49b892f51180cfd9e63a7</anchor>
      <arglist>(int cap) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>shutDown</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a9dfa590239593c2a88b8ba221cbf9a05</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>const State *</type>
      <name>state</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a510b9fa9e0a6628c0be40ce88037abe9</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>waitForAvailableJob</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a52ed9d911af573894c20edfe25e020d2</anchor>
      <arglist>(Thread *th) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>Weaver *</type>
      <name>weaver</name>
      <anchorfile>classThreadWeaver_1_1WeaverImplState.html</anchorfile>
      <anchor>a9522328980bc0c1af7a4c3ba2bb1653a</anchor>
      <arglist>() override</arglist>
    </member>
  </compound>
  <compound kind="page">
    <name>usecases</name>
    <title>Use Cases</title>
    <filename>usecases</filename>
  </compound>
  <compound kind="page">
    <name>multithreading</name>
    <title>Why Multithreading?</title>
    <filename>multithreading</filename>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title>ThreadWeaver</title>
    <filename>index</filename>
  </compound>
</tagfile>
