<divclass="line"><aid="l00205" name="l00205"></a><spanclass="lineno"> 205</span><spanclass="comment">// increment the refcount packed in the lower 24 bits of _estate —</span></div>
<divclass="line"><aid="l00206" name="l00206"></a><spanclass="lineno"> 206</span><spanclass="comment">// no std::get_if needed since we know this node is DependentAsync</span></div>
<divclass="line"><aid="l00214" name="l00214"></a><spanclass="lineno"> 214</span><spanclass="comment">// decrement the refcount packed in the lower 24 bits of _estate.</span></div>
<divclass="line"><aid="l00215" name="l00215"></a><spanclass="lineno"> 215</span><spanclass="comment">// mask out the state bits before comparing so we only check the refcount.</span></div>
<divclass="line"><aid="l00216" name="l00216"></a><spanclass="lineno"> 216</span><spanclass="comment">// if it reaches zero, no owners remain and we recycle the node.</span></div>
<divclass="line"><aid="l00317" name="l00317"></a><spanclass="lineno"> 317</span>} <spanclass="comment">// end of namespace tf ----------------------------------------------------</span></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html">tf::AsyncTask</a></div><divclass="ttdoc">class to hold a dependent asynchronous task with shared ownership</div><divclass="ttdef"><b>Definition</b> async_task.hpp:45</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a148ddcabda8fd44746b278499cd4cb53"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a148ddcabda8fd44746b278499cd4cb53">tf::AsyncTask::~AsyncTask</a></div><divclass="ttdeci">~AsyncTask()</div><divclass="ttdoc">destroys the managed dependent-async task if this is the last owner</div><divclass="ttdef"><b>Definition</b> async_task.hpp:237</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a14fa18d27a02c41e01b48ea07e87f5c5"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a14fa18d27a02c41e01b48ea07e87f5c5">tf::AsyncTask::operator=</a></div><divclass="ttdeci">AsyncTask & operator=(const AsyncTask &rhs)</div><divclass="ttdoc">copy-assigns the dependent-async task from rhs</div><divclass="ttdef"><b>Definition</b> async_task.hpp:242</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a68689c79c7d794a8be2e1c181c818001"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a68689c79c7d794a8be2e1c181c818001">tf::AsyncTask::AsyncTask</a></div><divclass="ttdeci">AsyncTask()=default</div><divclass="ttdoc">constructs an empty task handle</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a6a4a54030f57d1ef05c04ae01825165d"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a6a4a54030f57d1ef05c04ae01825165d">tf::AsyncTask::use_count</a></div><divclass="ttdeci">size_t use_count() const</div><divclass="ttdoc">returns the number of shared owners that are currently managing this dependent-async task</div><divclass="ttdef"><b>Definition</b> async_task.hpp:284</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a7c12835577fbdc1bca3190cf92c78088"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a7c12835577fbdc1bca3190cf92c78088">tf::AsyncTask::reset</a></div><divclass="ttdeci">void reset()</div><divclass="ttdoc">release the managed object of this</div><divclass="ttdef"><b>Definition</b> async_task.hpp:273</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a7f72d09a1cfc7a3a4e5377b7906fec76"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a7f72d09a1cfc7a3a4e5377b7906fec76">tf::AsyncTask::has_exception_ptr</a></div><divclass="ttdeci">bool has_exception_ptr() const</div><divclass="ttdoc">queries if the task has an exception pointer</div><divclass="ttdef"><b>Definition</b> async_task.hpp:263</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_a826a2ea909094f5a26c2df876de58056"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#a826a2ea909094f5a26c2df876de58056">tf::AsyncTask::hash_value</a></div><divclass="ttdeci">size_t hash_value() const</div><divclass="ttdoc">obtains the hashed value of this dependent-async task</div><divclass="ttdef"><b>Definition</b> async_task.hpp:279</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_aace6e20ee4cb6f82812cf498d0d9828f"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#aace6e20ee4cb6f82812cf498d0d9828f">tf::AsyncTask::exception_ptr</a></div><divclass="ttdeci">std::exception_ptr exception_ptr() const</div><divclass="ttdoc">retrieves the exception pointer of this task</div><divclass="ttdef"><b>Definition</b> async_task.hpp:258</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_ae42c70dc0c5edc6d58f47b346125fca3"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#ae42c70dc0c5edc6d58f47b346125fca3">tf::AsyncTask::empty</a></div><divclass="ttdeci">bool empty() const</div><divclass="ttdoc">checks if this dependent-async task is associated with any task</div><divclass="ttdef"><b>Definition</b> async_task.hpp:268</div></div>
<divclass="ttc" id="aclasstf_1_1AsyncTask_html_aefeefa30d7cafdfbb7dc8def542e8e51"><divclass="ttname"><ahref="classtf_1_1AsyncTask.html#aefeefa30d7cafdfbb7dc8def542e8e51">tf::AsyncTask::is_done</a></div><divclass="ttdeci">bool is_done() const</div><divclass="ttdoc">checks if this dependent-async task finishes</div><divclass="ttdef"><b>Definition</b> async_task.hpp:292</div></div>
<divclass="ttc" id="aconcepttf_1_1AsyncTaskHandleLike_html"><divclass="ttname"><ahref="concepttf_1_1AsyncTaskHandleLike.html">tf::AsyncTaskHandleLike</a></div><divclass="ttdoc">concept to check if a type is a tf::AsyncTask</div><divclass="ttdef"><b>Definition</b> async_task.hpp:314</div></div>