基于C++ Coroutines提案 ‘Stackless Resumable Functions’编写的协程库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

hierarchy.html 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>librf: 类继承关系</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">librf
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- 制作者 Doxygen 1.8.17 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'搜索');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','搜索');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. </div><!-- top -->
  49. <!-- window showing the filter options -->
  50. <div id="MSearchSelectWindow"
  51. onmouseover="return searchBox.OnSearchSelectShow()"
  52. onmouseout="return searchBox.OnSearchSelectHide()"
  53. onkeydown="return searchBox.OnSearchSelectKey(event)">
  54. </div>
  55. <!-- iframe showing the search results (closed by default) -->
  56. <div id="MSearchResultsWindow">
  57. <iframe src="javascript:void(0)" frameborder="0"
  58. name="MSearchResults" id="MSearchResults">
  59. </iframe>
  60. </div>
  61. <div class="header">
  62. <div class="headertitle">
  63. <div class="title">类继承关系</div> </div>
  64. </div><!--header-->
  65. <div class="contents">
  66. <div class="textblock">此继承关系列表按字典顺序粗略的排序: </div><div class="directory">
  67. <div class="levels">[详情级别 <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
  68. <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1adopt__manual__unlock__t.html" target="_self">resumef::adopt_manual_unlock_t</a></td><td class="desc">提示手工解锁,故相关的lock()函数不再返回batch_unlock_t。 </td></tr>
  69. <tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1awaitable__impl__t.html" target="_self">resumef::awaitable_impl_t&lt; _Ty &gt;</a></td><td class="desc">Awaitable_t&lt;&gt;的公共实现部分,用于减少awaitable_t&lt;&gt;的重复代码。 </td></tr>
  70. <tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1awaitable__t.html" target="_self">resumef::awaitable_t&lt; _Ty &gt;</a></td><td class="desc">用于包装‘异步函数’为‘可等待函数(awaitable function)’。 </td></tr>
  71. <tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classresumef_1_1batch__lock__t.html" target="_self">resumef::batch_lock_t&lt; _Ty, _Cont, _Assemble &gt;</a></td><td class="desc">无死锁的批量枷锁。 </td></tr>
  72. <tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1batch__unlock__t.html" target="_self">resumef::batch_unlock_t&lt; _Mtxs &gt;</a></td><td class="desc">在析构的时候自动解锁mutex_t的辅助类。 </td></tr>
  73. <tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1channel__t.html" target="_self">resumef::channel_t&lt; _Ty, _Optional, _OptimizationThread &gt;</a></td><td class="desc">可传递数据的模板信号量。 </td></tr>
  74. <tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1counted__ptr.html" target="_self">resumef::counted_ptr&lt; T &gt;</a></td><td class="desc">专用与state的智能计数指针,通过管理state内嵌的引用计数来管理state的生存期。 </td></tr>
  75. <tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1counted__ptr.html" target="_self">resumef::counted_ptr&lt; detail::state_event_all_t &gt;</a></td><td class="desc"></td></tr>
  76. <tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1counted__ptr.html" target="_self">resumef::counted_ptr&lt; detail::state_event_t &gt;</a></td><td class="desc"></td></tr>
  77. <tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1counted__ptr.html" target="_self">resumef::counted_ptr&lt; detail::state_mutex_t &gt;</a></td><td class="desc"></td></tr>
  78. <tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1counted__ptr.html" target="_self">resumef::counted_ptr&lt; resumef::state_t &gt;</a></td><td class="desc"></td></tr>
  79. <tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1counted__ptr.html" target="_self">resumef::counted_ptr&lt; state_type &gt;</a></td><td class="desc"></td></tr>
  80. <tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1event__t.html" target="_self">resumef::event_t</a></td><td class="desc">用于协程的事件。 </td></tr>
  81. <tr id="row_12_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>std::exception</b></td><td class="desc">STL class </td></tr>
  82. <tr id="row_12_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_0_" class="arrow" onclick="toggleFolder('12_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>std::logic_error</b></td><td class="desc">STL class </td></tr>
  83. <tr id="row_12_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1channel__exception.html" target="_self">resumef::channel_exception</a></td><td class="desc">错误使用channel_t时产生的异常(v2版本已经不再抛此异常了)。 </td></tr>
  84. <tr id="row_12_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1mutex__exception.html" target="_self">resumef::mutex_exception</a></td><td class="desc">错误使用mutex_t时产生的异常。 </td></tr>
  85. <tr id="row_12_0_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1timer__canceled__exception.html" target="_self">resumef::timer_canceled_exception</a></td><td class="desc">定时器提前取消导致的异常。 </td></tr>
  86. <tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1future__t.html" target="_self">resumef::future_t&lt; _Ty &gt;</a></td><td class="desc">用于resumef协程的返回值。 </td></tr>
  87. <tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1future__t.html" target="_self">resumef::future_t&lt; T &gt;</a></td><td class="desc"></td></tr>
  88. <tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1generator__t.html" target="_self">resumef::generator_t&lt; _Ty, _Alloc &gt;</a></td><td class="desc">专用于co_yield函数。 </td></tr>
  89. <tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1get__current__scheduler__awaitor.html" target="_self">resumef::get_current_scheduler_awaitor</a></td><td class="desc">获得本协程绑定的调度器的可等待对象。 </td></tr>
  90. <tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1get__root__state__awaitor.html" target="_self">resumef::get_root_state_awaitor</a></td><td class="desc">获得本协程绑定的跟state指针的可等待对象。 </td></tr>
  91. <tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1local__scheduler__t.html" target="_self">resumef::local_scheduler_t</a></td><td class="desc">创建一个线程相关的调度器。 </td></tr>
  92. <tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1mutex__t.html" target="_self">resumef::mutex_t</a></td><td class="desc">支持递归的锁。 </td></tr>
  93. <tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classasio_1_1rf__task__t.html" target="_self">asio::rf_task_t&lt; Allocator &gt;</a></td><td class="desc">用于指示asio相关异步函数,返回resumef::future_t&lt;&gt;的类型,从而变成支持 librf 的协程函数。 </td></tr>
  94. <tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1scheduler__t.html" target="_self">resumef::scheduler_t</a></td><td class="desc">协程调度器。 </td></tr>
  95. <tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1spinlock.html" target="_self">resumef::spinlock</a></td><td class="desc">一个自旋锁实现。 </td></tr>
  96. <tr id="row_23_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_23_" class="arrow" onclick="toggleFolder('23_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1state__base__t.html" target="_self">resumef::state_base_t</a></td><td class="desc">State基类,state用于在协程的promise和future之间共享数据。 </td></tr>
  97. <tr id="row_23_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_23_0_" class="arrow" onclick="toggleFolder('23_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1state__future__t.html" target="_self">resumef::state_future_t</a></td><td class="desc">专用于future_t&lt;&gt;的state基类,实现了针对于future_t&lt;&gt;的公共方法等。 </td></tr>
  98. <tr id="row_23_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1state__t.html" target="_self">resumef::state_t&lt; _Ty &gt;</a></td><td class="desc">专用于future_t&lt;&gt;的state类。 </td></tr>
  99. <tr id="row_23_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1state__generator__t.html" target="_self">resumef::state_generator_t</a></td><td class="desc">专用于generator_t&lt;&gt;的state类。 </td></tr>
  100. <tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1switch__scheduler__awaitor.html" target="_self">resumef::switch_scheduler_awaitor</a></td><td class="desc">切换协程的可等待对象。 </td></tr>
  101. <tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1task__t.html" target="_self">resumef::task_t&lt; _Ty, class &gt;</a></td><td class="desc">协程任务类。 </td></tr>
  102. <tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1timer__handler.html" target="_self">resumef::timer_handler</a></td><td class="desc">定时器句柄。 </td></tr>
  103. <tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1timer__manager.html" target="_self">resumef::timer_manager</a></td><td class="desc">定时器管理器。 </td></tr>
  104. <tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1detail_1_1timer__target.html" target="_self">resumef::detail::timer_target</a></td><td class="desc">定时器对象。 </td></tr>
  105. <tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1when__.html" target="_self">resumef::when_</a></td><td class="desc">目前不知道怎么在doxygen里面能搜集到全局函数的文档。故用一个结构体来欺骗doxygen。 </td></tr>
  106. <tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structresumef_1_1yield__awaitor.html" target="_self">resumef::yield_awaitor</a></td><td class="desc">将本协程让渡出一次调用的可等待对象。 </td></tr>
  107. </table>
  108. </div><!-- directory -->
  109. </div><!-- contents -->
  110. <!-- start footer part -->
  111. <hr class="footer"/><address class="footer"><small>
  112. 制作者 &#160;<a href="http://www.doxygen.org/index.html">
  113. <img class="footer" src="doxygen.png" alt="doxygen"/>
  114. </a> 1.8.17
  115. </small></address>
  116. </body>
  117. </html>