1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>wxWidgets: wxScopeGuard Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="page_container">
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0" style="width: 100%;">
<tbody>
<tr>
<td id="projectlogo">
<a href="http://www.wxwidgets.org/" target="_new">
<img alt="wxWidgets" src="logo.png"/>
</a>
</td>
<td style="padding-left: 0.5em; text-align: right;">
<span id="projectnumber">Version: 3.0.2</span>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Categories</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="classes.html"><span>Class Index</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="classwx_scope_guard-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">wxScopeGuard Class Reference<div class="ingroups"><a class="el" href="group__group__class__misc.html">Miscellaneous</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include <wx/scopeguard.h></code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Scope guard is an object which allows executing an action on scope exit. </p>
<p>The objects of this class must be constructed using <a class="el" href="group__group__funcmacro__misc.html#gae3c4e71b9eb7d1bf7b7cf2eee1832796" title="Returns a scope guard object which will call the specified function with the given parameters on scop...">wxMakeGuard()</a> function.</p>
<h2></h2>
<div><span class="lib">Library:</span>  <span class="lib_text">None; this class implementation is entirely header-based.</span></div><div><span class="category">Category:</span>  <span class="category_text"><a class="el" href="group__group__class__misc.html">Miscellaneous</a></span></div> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6fe50c80f2e4216db32703b420554ae9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classwx_scope_guard.html#a6fe50c80f2e4216db32703b420554ae9">Dismiss</a> ()</td></tr>
<tr class="memdesc:a6fe50c80f2e4216db32703b420554ae9"><td class="mdescLeft"> </td><td class="mdescRight">Call this method to dismiss the execution of the action on scope exit. <a href="#a6fe50c80f2e4216db32703b420554ae9"></a><br/></td></tr>
<tr class="separator:a6fe50c80f2e4216db32703b420554ae9"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6fe50c80f2e4216db32703b420554ae9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void wxScopeGuard::Dismiss </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Call this method to dismiss the execution of the action on scope exit. </p>
<p>A typical example: </p>
<div class="fragment"><div class="line">Update1();</div>
<div class="line"></div>
<div class="line"><span class="comment">// ensure that changes done so far are rolled back if the next</span></div>
<div class="line"><span class="comment">// operation throws</span></div>
<div class="line"><a class="code" href="classwx_scope_guard.html" title="Scope guard is an object which allows executing an action on scope exit.">wxScopeGuard</a> guard = <a class="code" href="group__group__funcmacro__misc.html#gae3c4e71b9eb7d1bf7b7cf2eee1832796" title="Returns a scope guard object which will call the specified function with the given parameters on scop...">wxMakeGuard</a>(RollBack);</div>
<div class="line">Update2();</div>
<div class="line"></div>
<div class="line"><span class="comment">// it didn't throw so commit the changes, i.e. avoid rolling back</span></div>
<div class="line">guard.<a class="code" href="classwx_scope_guard.html#a6fe50c80f2e4216db32703b420554ae9" title="Call this method to dismiss the execution of the action on scope exit.">Dismiss</a>();</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<address class="footer">
<small>
Generated on Thu Nov 27 2014 13:46:56 for wxWidgets by <a href="http://www.doxygen.org/index.html" target="_new">Doxygen</a> 1.8.2
</small>
</address>
<script src="wxwidgets.js" type="text/javascript"></script>
</div><!-- #page_container -->
</body>
</html>
|