DISTRHO Plugin Framework
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.

502 lines
27KB

  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.9.1"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>DISTRHO Plugin Framework: ScopedPointer&lt; ObjectType &gt; Class Template Reference</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">DISTRHO Plugin Framework
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.9.1 -->
  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,'Search','.html');
  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','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. <!-- window showing the filter options -->
  49. <div id="MSearchSelectWindow"
  50. onmouseover="return searchBox.OnSearchSelectShow()"
  51. onmouseout="return searchBox.OnSearchSelectHide()"
  52. onkeydown="return searchBox.OnSearchSelectKey(event)">
  53. </div>
  54. <!-- iframe showing the search results (closed by default) -->
  55. <div id="MSearchResultsWindow">
  56. <iframe src="javascript:void(0)" frameborder="0"
  57. name="MSearchResults" id="MSearchResults">
  58. </iframe>
  59. </div>
  60. </div><!-- top -->
  61. <div class="header">
  62. <div class="summary">
  63. <a href="#pub-methods">Public Member Functions</a> &#124;
  64. <a href="classScopedPointer-members.html">List of all members</a> </div>
  65. <div class="headertitle">
  66. <div class="title">ScopedPointer&lt; ObjectType &gt; Class Template Reference</div> </div>
  67. </div><!--header-->
  68. <div class="contents">
  69. <p><code>#include &lt;<a class="el" href="ScopedPointer_8hpp_source.html">ScopedPointer.hpp</a>&gt;</code></p>
  70. <table class="memberdecls">
  71. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  72. Public Member Functions</h2></td></tr>
  73. <tr class="memitem:ac187958296e33aa057dd37478ea70400"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#ac187958296e33aa057dd37478ea70400">ScopedPointer</a> () noexcept</td></tr>
  74. <tr class="separator:ac187958296e33aa057dd37478ea70400"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. <tr class="memitem:a44a7843e49c3ff719f06607b6e908f7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d">ScopedPointer</a> (ObjectType *const objectToTakePossessionOf) noexcept</td></tr>
  76. <tr class="separator:a44a7843e49c3ff719f06607b6e908f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:a04688b1561dd9d861ca80c6deb63a233"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233">ScopedPointer</a> (<a class="el" href="classScopedPointer.html">ScopedPointer</a> &amp;objectToTransferFrom) noexcept</td></tr>
  78. <tr class="separator:a04688b1561dd9d861ca80c6deb63a233"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:a3c540f0121065aafa5f9607362fc1450"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450">~ScopedPointer</a> ()</td></tr>
  80. <tr class="separator:a3c540f0121065aafa5f9607362fc1450"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:afefc7940828d72c056e03804cd6bea9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classScopedPointer.html">ScopedPointer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#afefc7940828d72c056e03804cd6bea9f">operator=</a> (<a class="el" href="classScopedPointer.html">ScopedPointer</a> &amp;objectToTransferFrom)</td></tr>
  82. <tr class="separator:afefc7940828d72c056e03804cd6bea9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:a88ee7f038e57471539d3181141c0390e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classScopedPointer.html">ScopedPointer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a88ee7f038e57471539d3181141c0390e">operator=</a> (ObjectType *const newObjectToTakePossessionOf)</td></tr>
  84. <tr class="separator:a88ee7f038e57471539d3181141c0390e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:af7c241c736d79754fd6f8d305cce8bc3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#af7c241c736d79754fd6f8d305cce8bc3">operator ObjectType *</a> () const noexcept</td></tr>
  86. <tr class="separator:af7c241c736d79754fd6f8d305cce8bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:ac65fb45b9eb2d53773489fcfbc6fd740"><td class="memItemLeft" align="right" valign="top">ObjectType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740">get</a> () const noexcept</td></tr>
  88. <tr class="separator:ac65fb45b9eb2d53773489fcfbc6fd740"><td class="memSeparator" colspan="2">&#160;</td></tr>
  89. <tr class="memitem:a1a88fa0865167c487050a9519297d4ed"><td class="memItemLeft" align="right" valign="top">ObjectType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a1a88fa0865167c487050a9519297d4ed">getObject</a> () const noexcept</td></tr>
  90. <tr class="separator:a1a88fa0865167c487050a9519297d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:a2f48458a1656a6ef1bd35cb8452eed35"><td class="memItemLeft" align="right" valign="top">ObjectType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a2f48458a1656a6ef1bd35cb8452eed35">operator*</a> () const noexcept</td></tr>
  92. <tr class="separator:a2f48458a1656a6ef1bd35cb8452eed35"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <tr class="memitem:a6eedc84349cbe629cc1abb79ffa74e87"><td class="memItemLeft" align="right" valign="top">ObjectType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a6eedc84349cbe629cc1abb79ffa74e87">operator-&gt;</a> () const noexcept</td></tr>
  94. <tr class="separator:a6eedc84349cbe629cc1abb79ffa74e87"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:a10c8f696fec0cca763b067ec3e469199"><td class="memItemLeft" align="right" valign="top">ObjectType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199">release</a> () noexcept</td></tr>
  96. <tr class="separator:a10c8f696fec0cca763b067ec3e469199"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. <tr class="memitem:a362cd8d5a212df0ee08691b75a4ba3de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classScopedPointer.html#a362cd8d5a212df0ee08691b75a4ba3de">swapWith</a> (<a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt; &amp;other) noexcept</td></tr>
  98. <tr class="separator:a362cd8d5a212df0ee08691b75a4ba3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
  99. </table>
  100. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  101. <div class="textblock"><h3>template&lt;class ObjectType&gt;<br />
  102. class ScopedPointer&lt; ObjectType &gt;</h3>
  103. <p>Copyright (C) 2013 Raw Material Software Ltd.</p>
  104. <p>Permission is granted to use this software under the terms of the ISC license <a href="http://www.isc.org/downloads/software-support-policy/isc-license/">http://www.isc.org/downloads/software-support-policy/isc-license/</a></p>
  105. <p>Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.</p>
  106. <p>THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. This class holds a pointer which is automatically deleted when this object goes out of scope.</p>
  107. <p>Once a pointer has been passed to a <a class="el" href="classScopedPointer.html">ScopedPointer</a>, it will make sure that the pointer gets deleted when the <a class="el" href="classScopedPointer.html">ScopedPointer</a> is deleted. Using the <a class="el" href="classScopedPointer.html">ScopedPointer</a> on the stack or as member variables is a good way to use RAII to avoid accidentally leaking dynamically created objects.</p>
  108. <p>A <a class="el" href="classScopedPointer.html">ScopedPointer</a> can be used in pretty much the same way that you'd use a normal pointer to an object. If you use the assignment operator to assign a different object to a <a class="el" href="classScopedPointer.html">ScopedPointer</a>, the old one will be automatically deleted.</p>
  109. <p>A const <a class="el" href="classScopedPointer.html">ScopedPointer</a> is guaranteed not to lose ownership of its object or change the object to which it points during its lifetime. This means that making a copy of a const <a class="el" href="classScopedPointer.html">ScopedPointer</a> is impossible, as that would involve the new copy taking ownership from the old one.</p>
  110. <p>If you need to get a pointer out of a <a class="el" href="classScopedPointer.html">ScopedPointer</a> without it being deleted, you can use the <a class="el" href="classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199">release()</a> method.</p>
  111. <p>Something to note is the main difference between this class and the std::auto_ptr class, which is that <a class="el" href="classScopedPointer.html">ScopedPointer</a> provides a cast-to-object operator, wheras std::auto_ptr requires that you always call <a class="el" href="classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740">get()</a> to retrieve the pointer. The advantages of providing the cast is that you don't need to call <a class="el" href="classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740">get()</a>, so can use the <a class="el" href="classScopedPointer.html">ScopedPointer</a> in pretty much exactly the same way as a raw pointer. The disadvantage is that the compiler is free to use the cast in unexpected and sometimes dangerous ways - in particular, it becomes difficult to return a <a class="el" href="classScopedPointer.html">ScopedPointer</a> as the result of a function. To avoid this causing errors, <a class="el" href="classScopedPointer.html">ScopedPointer</a> contains an overloaded constructor that should cause a syntax error in these circumstances, but it does mean that instead of returning a <a class="el" href="classScopedPointer.html">ScopedPointer</a> from a function, you'd need to return a raw pointer (or use a std::auto_ptr instead). </p>
  112. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  113. <a id="ac187958296e33aa057dd37478ea70400"></a>
  114. <h2 class="memtitle"><span class="permalink"><a href="#ac187958296e33aa057dd37478ea70400">&#9670;&nbsp;</a></span>ScopedPointer() <span class="overload">[1/3]</span></h2>
  115. <div class="memitem">
  116. <div class="memproto">
  117. <div class="memtemplate">
  118. template&lt;class ObjectType &gt; </div>
  119. <table class="mlabels">
  120. <tr>
  121. <td class="mlabels-left">
  122. <table class="memname">
  123. <tr>
  124. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::<a class="el" href="classScopedPointer.html">ScopedPointer</a> </td>
  125. <td>(</td>
  126. <td class="paramname"></td><td>)</td>
  127. <td></td>
  128. </tr>
  129. </table>
  130. </td>
  131. <td class="mlabels-right">
  132. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  133. </tr>
  134. </table>
  135. </div><div class="memdoc">
  136. <p>Creates a <a class="el" href="classScopedPointer.html">ScopedPointer</a> containing a null pointer. </p>
  137. </div>
  138. </div>
  139. <a id="a44a7843e49c3ff719f06607b6e908f7d"></a>
  140. <h2 class="memtitle"><span class="permalink"><a href="#a44a7843e49c3ff719f06607b6e908f7d">&#9670;&nbsp;</a></span>ScopedPointer() <span class="overload">[2/3]</span></h2>
  141. <div class="memitem">
  142. <div class="memproto">
  143. <div class="memtemplate">
  144. template&lt;class ObjectType &gt; </div>
  145. <table class="mlabels">
  146. <tr>
  147. <td class="mlabels-left">
  148. <table class="memname">
  149. <tr>
  150. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::<a class="el" href="classScopedPointer.html">ScopedPointer</a> </td>
  151. <td>(</td>
  152. <td class="paramtype">ObjectType *const&#160;</td>
  153. <td class="paramname"><em>objectToTakePossessionOf</em></td><td>)</td>
  154. <td></td>
  155. </tr>
  156. </table>
  157. </td>
  158. <td class="mlabels-right">
  159. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  160. </tr>
  161. </table>
  162. </div><div class="memdoc">
  163. <p>Creates a <a class="el" href="classScopedPointer.html">ScopedPointer</a> that owns the specified object. </p>
  164. </div>
  165. </div>
  166. <a id="a04688b1561dd9d861ca80c6deb63a233"></a>
  167. <h2 class="memtitle"><span class="permalink"><a href="#a04688b1561dd9d861ca80c6deb63a233">&#9670;&nbsp;</a></span>ScopedPointer() <span class="overload">[3/3]</span></h2>
  168. <div class="memitem">
  169. <div class="memproto">
  170. <div class="memtemplate">
  171. template&lt;class ObjectType &gt; </div>
  172. <table class="mlabels">
  173. <tr>
  174. <td class="mlabels-left">
  175. <table class="memname">
  176. <tr>
  177. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::<a class="el" href="classScopedPointer.html">ScopedPointer</a> </td>
  178. <td>(</td>
  179. <td class="paramtype"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt; &amp;&#160;</td>
  180. <td class="paramname"><em>objectToTransferFrom</em></td><td>)</td>
  181. <td></td>
  182. </tr>
  183. </table>
  184. </td>
  185. <td class="mlabels-right">
  186. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  187. </tr>
  188. </table>
  189. </div><div class="memdoc">
  190. <p>Creates a <a class="el" href="classScopedPointer.html">ScopedPointer</a> that takes its pointer from another <a class="el" href="classScopedPointer.html">ScopedPointer</a>.</p>
  191. <p>Because a pointer can only belong to one <a class="el" href="classScopedPointer.html">ScopedPointer</a>, this transfers the pointer from the other object to this one, and the other object is reset to be a null pointer. </p>
  192. </div>
  193. </div>
  194. <a id="a3c540f0121065aafa5f9607362fc1450"></a>
  195. <h2 class="memtitle"><span class="permalink"><a href="#a3c540f0121065aafa5f9607362fc1450">&#9670;&nbsp;</a></span>~ScopedPointer()</h2>
  196. <div class="memitem">
  197. <div class="memproto">
  198. <div class="memtemplate">
  199. template&lt;class ObjectType &gt; </div>
  200. <table class="mlabels">
  201. <tr>
  202. <td class="mlabels-left">
  203. <table class="memname">
  204. <tr>
  205. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::~<a class="el" href="classScopedPointer.html">ScopedPointer</a> </td>
  206. <td>(</td>
  207. <td class="paramname"></td><td>)</td>
  208. <td></td>
  209. </tr>
  210. </table>
  211. </td>
  212. <td class="mlabels-right">
  213. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  214. </tr>
  215. </table>
  216. </div><div class="memdoc">
  217. <p>Destructor. This will delete the object that this <a class="el" href="classScopedPointer.html">ScopedPointer</a> currently refers to. </p>
  218. </div>
  219. </div>
  220. <h2 class="groupheader">Member Function Documentation</h2>
  221. <a id="afefc7940828d72c056e03804cd6bea9f"></a>
  222. <h2 class="memtitle"><span class="permalink"><a href="#afefc7940828d72c056e03804cd6bea9f">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>
  223. <div class="memitem">
  224. <div class="memproto">
  225. <div class="memtemplate">
  226. template&lt;class ObjectType &gt; </div>
  227. <table class="mlabels">
  228. <tr>
  229. <td class="mlabels-left">
  230. <table class="memname">
  231. <tr>
  232. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&amp; <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::operator= </td>
  233. <td>(</td>
  234. <td class="paramtype"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt; &amp;&#160;</td>
  235. <td class="paramname"><em>objectToTransferFrom</em></td><td>)</td>
  236. <td></td>
  237. </tr>
  238. </table>
  239. </td>
  240. <td class="mlabels-right">
  241. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  242. </tr>
  243. </table>
  244. </div><div class="memdoc">
  245. <p>Changes this <a class="el" href="classScopedPointer.html">ScopedPointer</a> to point to a new object.</p>
  246. <p>Because a pointer can only belong to one <a class="el" href="classScopedPointer.html">ScopedPointer</a>, this transfers the pointer from the other object to this one, and the other object is reset to be a null pointer.</p>
  247. <p>If this <a class="el" href="classScopedPointer.html">ScopedPointer</a> already points to an object, that object will first be deleted. </p>
  248. </div>
  249. </div>
  250. <a id="a88ee7f038e57471539d3181141c0390e"></a>
  251. <h2 class="memtitle"><span class="permalink"><a href="#a88ee7f038e57471539d3181141c0390e">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>
  252. <div class="memitem">
  253. <div class="memproto">
  254. <div class="memtemplate">
  255. template&lt;class ObjectType &gt; </div>
  256. <table class="mlabels">
  257. <tr>
  258. <td class="mlabels-left">
  259. <table class="memname">
  260. <tr>
  261. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&amp; <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::operator= </td>
  262. <td>(</td>
  263. <td class="paramtype">ObjectType *const&#160;</td>
  264. <td class="paramname"><em>newObjectToTakePossessionOf</em></td><td>)</td>
  265. <td></td>
  266. </tr>
  267. </table>
  268. </td>
  269. <td class="mlabels-right">
  270. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  271. </tr>
  272. </table>
  273. </div><div class="memdoc">
  274. <p>Changes this <a class="el" href="classScopedPointer.html">ScopedPointer</a> to point to a new object.</p>
  275. <p>If this <a class="el" href="classScopedPointer.html">ScopedPointer</a> already points to an object, that object will first be deleted.</p>
  276. <p>The pointer that you pass in may be a nullptr. </p>
  277. </div>
  278. </div>
  279. <a id="af7c241c736d79754fd6f8d305cce8bc3"></a>
  280. <h2 class="memtitle"><span class="permalink"><a href="#af7c241c736d79754fd6f8d305cce8bc3">&#9670;&nbsp;</a></span>operator ObjectType *()</h2>
  281. <div class="memitem">
  282. <div class="memproto">
  283. <div class="memtemplate">
  284. template&lt;class ObjectType &gt; </div>
  285. <table class="mlabels">
  286. <tr>
  287. <td class="mlabels-left">
  288. <table class="memname">
  289. <tr>
  290. <td class="memname"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::operator ObjectType * </td>
  291. <td>(</td>
  292. <td class="paramname"></td><td>)</td>
  293. <td> const</td>
  294. </tr>
  295. </table>
  296. </td>
  297. <td class="mlabels-right">
  298. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  299. </tr>
  300. </table>
  301. </div><div class="memdoc">
  302. <p>Returns the object that this <a class="el" href="classScopedPointer.html">ScopedPointer</a> refers to. </p>
  303. </div>
  304. </div>
  305. <a id="ac65fb45b9eb2d53773489fcfbc6fd740"></a>
  306. <h2 class="memtitle"><span class="permalink"><a href="#ac65fb45b9eb2d53773489fcfbc6fd740">&#9670;&nbsp;</a></span>get()</h2>
  307. <div class="memitem">
  308. <div class="memproto">
  309. <div class="memtemplate">
  310. template&lt;class ObjectType &gt; </div>
  311. <table class="mlabels">
  312. <tr>
  313. <td class="mlabels-left">
  314. <table class="memname">
  315. <tr>
  316. <td class="memname">ObjectType* <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::get </td>
  317. <td>(</td>
  318. <td class="paramname"></td><td>)</td>
  319. <td> const</td>
  320. </tr>
  321. </table>
  322. </td>
  323. <td class="mlabels-right">
  324. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  325. </tr>
  326. </table>
  327. </div><div class="memdoc">
  328. <p>Returns the object that this <a class="el" href="classScopedPointer.html">ScopedPointer</a> refers to. </p>
  329. </div>
  330. </div>
  331. <a id="a1a88fa0865167c487050a9519297d4ed"></a>
  332. <h2 class="memtitle"><span class="permalink"><a href="#a1a88fa0865167c487050a9519297d4ed">&#9670;&nbsp;</a></span>getObject()</h2>
  333. <div class="memitem">
  334. <div class="memproto">
  335. <div class="memtemplate">
  336. template&lt;class ObjectType &gt; </div>
  337. <table class="mlabels">
  338. <tr>
  339. <td class="mlabels-left">
  340. <table class="memname">
  341. <tr>
  342. <td class="memname">ObjectType&amp; <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::getObject </td>
  343. <td>(</td>
  344. <td class="paramname"></td><td>)</td>
  345. <td> const</td>
  346. </tr>
  347. </table>
  348. </td>
  349. <td class="mlabels-right">
  350. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  351. </tr>
  352. </table>
  353. </div><div class="memdoc">
  354. <p>Returns the object that this <a class="el" href="classScopedPointer.html">ScopedPointer</a> refers to. </p>
  355. </div>
  356. </div>
  357. <a id="a2f48458a1656a6ef1bd35cb8452eed35"></a>
  358. <h2 class="memtitle"><span class="permalink"><a href="#a2f48458a1656a6ef1bd35cb8452eed35">&#9670;&nbsp;</a></span>operator*()</h2>
  359. <div class="memitem">
  360. <div class="memproto">
  361. <div class="memtemplate">
  362. template&lt;class ObjectType &gt; </div>
  363. <table class="mlabels">
  364. <tr>
  365. <td class="mlabels-left">
  366. <table class="memname">
  367. <tr>
  368. <td class="memname">ObjectType&amp; <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::operator* </td>
  369. <td>(</td>
  370. <td class="paramname"></td><td>)</td>
  371. <td> const</td>
  372. </tr>
  373. </table>
  374. </td>
  375. <td class="mlabels-right">
  376. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  377. </tr>
  378. </table>
  379. </div><div class="memdoc">
  380. <p>Returns the object that this <a class="el" href="classScopedPointer.html">ScopedPointer</a> refers to. </p>
  381. </div>
  382. </div>
  383. <a id="a6eedc84349cbe629cc1abb79ffa74e87"></a>
  384. <h2 class="memtitle"><span class="permalink"><a href="#a6eedc84349cbe629cc1abb79ffa74e87">&#9670;&nbsp;</a></span>operator-&gt;()</h2>
  385. <div class="memitem">
  386. <div class="memproto">
  387. <div class="memtemplate">
  388. template&lt;class ObjectType &gt; </div>
  389. <table class="mlabels">
  390. <tr>
  391. <td class="mlabels-left">
  392. <table class="memname">
  393. <tr>
  394. <td class="memname">ObjectType* <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::operator-&gt; </td>
  395. <td>(</td>
  396. <td class="paramname"></td><td>)</td>
  397. <td> const</td>
  398. </tr>
  399. </table>
  400. </td>
  401. <td class="mlabels-right">
  402. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  403. </tr>
  404. </table>
  405. </div><div class="memdoc">
  406. <p>Lets you access methods and properties of the object that this <a class="el" href="classScopedPointer.html">ScopedPointer</a> refers to. </p>
  407. </div>
  408. </div>
  409. <a id="a10c8f696fec0cca763b067ec3e469199"></a>
  410. <h2 class="memtitle"><span class="permalink"><a href="#a10c8f696fec0cca763b067ec3e469199">&#9670;&nbsp;</a></span>release()</h2>
  411. <div class="memitem">
  412. <div class="memproto">
  413. <div class="memtemplate">
  414. template&lt;class ObjectType &gt; </div>
  415. <table class="mlabels">
  416. <tr>
  417. <td class="mlabels-left">
  418. <table class="memname">
  419. <tr>
  420. <td class="memname">ObjectType* <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::release </td>
  421. <td>(</td>
  422. <td class="paramname"></td><td>)</td>
  423. <td></td>
  424. </tr>
  425. </table>
  426. </td>
  427. <td class="mlabels-right">
  428. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  429. </tr>
  430. </table>
  431. </div><div class="memdoc">
  432. <p>Removes the current object from this <a class="el" href="classScopedPointer.html">ScopedPointer</a> without deleting it. This will return the current object, and set the <a class="el" href="classScopedPointer.html">ScopedPointer</a> to a null pointer. </p>
  433. </div>
  434. </div>
  435. <a id="a362cd8d5a212df0ee08691b75a4ba3de"></a>
  436. <h2 class="memtitle"><span class="permalink"><a href="#a362cd8d5a212df0ee08691b75a4ba3de">&#9670;&nbsp;</a></span>swapWith()</h2>
  437. <div class="memitem">
  438. <div class="memproto">
  439. <div class="memtemplate">
  440. template&lt;class ObjectType &gt; </div>
  441. <table class="mlabels">
  442. <tr>
  443. <td class="mlabels-left">
  444. <table class="memname">
  445. <tr>
  446. <td class="memname">void <a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt;::swapWith </td>
  447. <td>(</td>
  448. <td class="paramtype"><a class="el" href="classScopedPointer.html">ScopedPointer</a>&lt; ObjectType &gt; &amp;&#160;</td>
  449. <td class="paramname"><em>other</em></td><td>)</td>
  450. <td></td>
  451. </tr>
  452. </table>
  453. </td>
  454. <td class="mlabels-right">
  455. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  456. </tr>
  457. </table>
  458. </div><div class="memdoc">
  459. <p>Swaps this object with that of another <a class="el" href="classScopedPointer.html">ScopedPointer</a>. The two objects simply exchange their pointers. </p>
  460. </div>
  461. </div>
  462. <hr/>The documentation for this class was generated from the following file:<ul>
  463. <li>distrho/extra/<a class="el" href="ScopedPointer_8hpp_source.html">ScopedPointer.hpp</a></li>
  464. </ul>
  465. </div><!-- contents -->
  466. <!-- start footer part -->
  467. <hr class="footer"/><address class="footer"><small>
  468. Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
  469. </small></address>
  470. </body>
  471. </html>