1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <title>Boost.Locale: boost::locale::hold_ptr< T > Class Template Reference</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <link href="doxygen.css" rel="stylesheet" type="text/css" />
10 <link href="navtree.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="resize.js"></script>
13 <script type="text/javascript" src="navtree.js"></script>
14 <script type="text/javascript">
15 $(document).ready(initResizable);
21 <div id="top"><!-- do not remove this div! -->
25 <table cellspacing="0" cellpadding="0">
27 <tr style="height: 56px;">
29 <td id="projectlogo"><img alt="Logo" src="boost-small.png"/></td>
32 <td style="padding-left: 0.5em;">
33 <div id="projectname">Boost.Locale
46 <!-- Generated by Doxygen 1.7.6.1 -->
47 <div id="navrow1" class="tabs">
49 <li><a href="index.html"><span>Main Page</span></a></li>
50 <li><a href="modules.html"><span>Modules</span></a></li>
51 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
52 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
53 <li><a href="files.html"><span>Files</span></a></li>
54 <li><a href="examples.html"><span>Examples</span></a></li>
57 <div id="navrow2" class="tabs2">
59 <li><a href="annotated.html"><span>Class List</span></a></li>
60 <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
61 <li><a href="functions.html"><span>Class Members</span></a></li>
65 <div id="side-nav" class="ui-resizable side-nav-resizable">
67 <div id="nav-tree-contents">
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
74 <script type="text/javascript">
75 initNavTree('classboost_1_1locale_1_1hold__ptr.html','');
77 <div id="doc-content">
80 <a href="#pub-methods">Public Member Functions</a> </div>
81 <div class="headertitle">
82 <div class="title">boost::locale::hold_ptr< T > Class Template Reference</div> </div>
84 <div class="contents">
85 <!-- doxytag: class="boost::locale::hold_ptr" -->
86 <p>a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer).
87 <a href="classboost_1_1locale_1_1hold__ptr.html#details">More...</a></p>
89 <p><code>#include <<a class="el" href="hold__ptr_8hpp_source.html">boost/locale/hold_ptr.hpp</a>></code></p>
91 <p><a href="classboost_1_1locale_1_1hold__ptr-members.html">List of all members.</a></p>
92 <table class="memberdecls">
93 <tr><td colspan="2"><h2><a name="pub-methods"></a>
94 Public Member Functions</h2></td></tr>
95 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a681ee3d579435f9f2f171b830c402072">hold_ptr</a> ()</td></tr>
96 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a0007514dc0410ccb16adf01c56874f52">hold_ptr</a> (T *v)</td></tr>
97 <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#aace934e7a8b3f1880d1a06fa85795a48">~hold_ptr</a> ()</td></tr>
98 <tr><td class="memItemLeft" align="right" valign="top">T const * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a907a9385c1a15dab07aade7466620bf6">get</a> () const </td></tr>
99 <tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a30dbc88eb9fde35198774f3ace282712">get</a> ()</td></tr>
100 <tr><td class="memItemLeft" align="right" valign="top">T const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a2c8a19e35ff3c57100b24371854f31b7">operator*</a> () const </td></tr>
101 <tr><td class="memItemLeft" align="right" valign="top">T & </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#af99f3719b755b787b022253aa6f8d1c0">operator*</a> ()</td></tr>
102 <tr><td class="memItemLeft" align="right" valign="top">T const * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a7ae6b54ed5471dd9560904c7ff8a7971">operator-></a> () const </td></tr>
103 <tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a474f2619452b63408e1e761f414328f4">operator-></a> ()</td></tr>
104 <tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a2d7b2957c037589b65b2cdd4f61ebe03">release</a> ()</td></tr>
105 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#acb84b86bb220d663ffe13e5be9cfd72e">reset</a> (T *p=0)</td></tr>
106 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e2640b5df80f86aeb68a6ee78dfd6f9"></a><!-- doxytag: member="boost::locale::hold_ptr::swap" ref="a3e2640b5df80f86aeb68a6ee78dfd6f9" args="(hold_ptr &other)" -->
107 void </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a3e2640b5df80f86aeb68a6ee78dfd6f9">swap</a> (<a class="el" href="classboost_1_1locale_1_1hold__ptr.html">hold_ptr</a> &other)</td></tr>
108 <tr><td class="mdescLeft"> </td><td class="mdescRight">Swap two pointers. <br/></td></tr>
110 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
111 <div class="textblock"><h3>template<typename T><br/>
112 class boost::locale::hold_ptr< T ></h3>
114 <p>a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer). </p>
115 </div><hr/><h2>Constructor & Destructor Documentation</h2>
116 <a class="anchor" id="a681ee3d579435f9f2f171b830c402072"></a><!-- doxytag: member="boost::locale::hold_ptr::hold_ptr" ref="a681ee3d579435f9f2f171b830c402072" args="()" -->
117 <div class="memitem">
118 <div class="memproto">
119 <div class="memtemplate">
120 template<typename T> </div>
121 <table class="memname">
123 <td class="memname"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::<a class="el" href="classboost_1_1locale_1_1hold__ptr.html">hold_ptr</a> </td>
125 <td class="paramname"></td><td>)</td>
126 <td><code> [inline]</code></td>
131 <p>Create new empty pointer </p>
135 <a class="anchor" id="a0007514dc0410ccb16adf01c56874f52"></a><!-- doxytag: member="boost::locale::hold_ptr::hold_ptr" ref="a0007514dc0410ccb16adf01c56874f52" args="(T *v)" -->
136 <div class="memitem">
137 <div class="memproto">
138 <div class="memtemplate">
139 template<typename T> </div>
140 <table class="memname">
142 <td class="memname"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::<a class="el" href="classboost_1_1locale_1_1hold__ptr.html">hold_ptr</a> </td>
144 <td class="paramtype">T * </td>
145 <td class="paramname"><em>v</em></td><td>)</td>
146 <td><code> [inline, explicit]</code></td>
151 <p>Create a pointer that holds <em>v</em>, ownership is transferred to smart pointer </p>
155 <a class="anchor" id="aace934e7a8b3f1880d1a06fa85795a48"></a><!-- doxytag: member="boost::locale::hold_ptr::~hold_ptr" ref="aace934e7a8b3f1880d1a06fa85795a48" args="()" -->
156 <div class="memitem">
157 <div class="memproto">
158 <div class="memtemplate">
159 template<typename T> </div>
160 <table class="memname">
162 <td class="memname"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::~<a class="el" href="classboost_1_1locale_1_1hold__ptr.html">hold_ptr</a> </td>
164 <td class="paramname"></td><td>)</td>
165 <td><code> [inline]</code></td>
170 <p>Destroy smart pointer and the object it owns. </p>
174 <hr/><h2>Member Function Documentation</h2>
175 <a class="anchor" id="a907a9385c1a15dab07aade7466620bf6"></a><!-- doxytag: member="boost::locale::hold_ptr::get" ref="a907a9385c1a15dab07aade7466620bf6" args="() const " -->
176 <div class="memitem">
177 <div class="memproto">
178 <div class="memtemplate">
179 template<typename T> </div>
180 <table class="memname">
182 <td class="memname">T const* <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::<a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a907a9385c1a15dab07aade7466620bf6">get</a> </td>
184 <td class="paramname"></td><td>)</td>
185 <td> const<code> [inline]</code></td>
190 <p>Get a const pointer to the object </p>
194 <a class="anchor" id="a30dbc88eb9fde35198774f3ace282712"></a><!-- doxytag: member="boost::locale::hold_ptr::get" ref="a30dbc88eb9fde35198774f3ace282712" args="()" -->
195 <div class="memitem">
196 <div class="memproto">
197 <div class="memtemplate">
198 template<typename T> </div>
199 <table class="memname">
201 <td class="memname">T* <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::<a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a907a9385c1a15dab07aade7466620bf6">get</a> </td>
203 <td class="paramname"></td><td>)</td>
204 <td><code> [inline]</code></td>
209 <p>Get a mutable pointer to the object </p>
213 <a class="anchor" id="a2c8a19e35ff3c57100b24371854f31b7"></a><!-- doxytag: member="boost::locale::hold_ptr::operator*" ref="a2c8a19e35ff3c57100b24371854f31b7" args="() const " -->
214 <div class="memitem">
215 <div class="memproto">
216 <div class="memtemplate">
217 template<typename T> </div>
218 <table class="memname">
220 <td class="memname">T const& <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::operator* </td>
222 <td class="paramname"></td><td>)</td>
223 <td> const<code> [inline]</code></td>
228 <p>Get a const reference to the object </p>
232 <a class="anchor" id="af99f3719b755b787b022253aa6f8d1c0"></a><!-- doxytag: member="boost::locale::hold_ptr::operator*" ref="af99f3719b755b787b022253aa6f8d1c0" args="()" -->
233 <div class="memitem">
234 <div class="memproto">
235 <div class="memtemplate">
236 template<typename T> </div>
237 <table class="memname">
239 <td class="memname">T& <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::operator* </td>
241 <td class="paramname"></td><td>)</td>
242 <td><code> [inline]</code></td>
247 <p>Get a mutable reference to the object </p>
251 <a class="anchor" id="a7ae6b54ed5471dd9560904c7ff8a7971"></a><!-- doxytag: member="boost::locale::hold_ptr::operator->" ref="a7ae6b54ed5471dd9560904c7ff8a7971" args="() const " -->
252 <div class="memitem">
253 <div class="memproto">
254 <div class="memtemplate">
255 template<typename T> </div>
256 <table class="memname">
258 <td class="memname">T const* <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::operator-> </td>
260 <td class="paramname"></td><td>)</td>
261 <td> const<code> [inline]</code></td>
266 <p>Get a const pointer to the object </p>
270 <a class="anchor" id="a474f2619452b63408e1e761f414328f4"></a><!-- doxytag: member="boost::locale::hold_ptr::operator->" ref="a474f2619452b63408e1e761f414328f4" args="()" -->
271 <div class="memitem">
272 <div class="memproto">
273 <div class="memtemplate">
274 template<typename T> </div>
275 <table class="memname">
277 <td class="memname">T* <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::operator-> </td>
279 <td class="paramname"></td><td>)</td>
280 <td><code> [inline]</code></td>
285 <p>Get a mutable pointer to the object </p>
289 <a class="anchor" id="a2d7b2957c037589b65b2cdd4f61ebe03"></a><!-- doxytag: member="boost::locale::hold_ptr::release" ref="a2d7b2957c037589b65b2cdd4f61ebe03" args="()" -->
290 <div class="memitem">
291 <div class="memproto">
292 <div class="memtemplate">
293 template<typename T> </div>
294 <table class="memname">
296 <td class="memname">T* <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::<a class="el" href="classboost_1_1locale_1_1hold__ptr.html#a2d7b2957c037589b65b2cdd4f61ebe03">release</a> </td>
298 <td class="paramname"></td><td>)</td>
299 <td><code> [inline]</code></td>
304 <p>Transfer an ownership on the pointer to user </p>
308 <a class="anchor" id="acb84b86bb220d663ffe13e5be9cfd72e"></a><!-- doxytag: member="boost::locale::hold_ptr::reset" ref="acb84b86bb220d663ffe13e5be9cfd72e" args="(T *p=0)" -->
309 <div class="memitem">
310 <div class="memproto">
311 <div class="memtemplate">
312 template<typename T> </div>
313 <table class="memname">
315 <td class="memname">void <a class="el" href="classboost_1_1locale_1_1hold__ptr.html">boost::locale::hold_ptr</a>< T >::<a class="el" href="classboost_1_1locale_1_1hold__ptr.html#acb84b86bb220d663ffe13e5be9cfd72e">reset</a> </td>
317 <td class="paramtype">T * </td>
318 <td class="paramname"><em>p</em> = <code>0</code></td><td>)</td>
319 <td><code> [inline]</code></td>
324 <p>Set new value to pointer, previous object is destroyed, ownership on new object is transferred </p>
328 <hr/>The documentation for this class was generated from the following file:<ul>
329 <li>boost/locale/<a class="el" href="hold__ptr_8hpp_source.html">hold_ptr.hpp</a></li>
331 </div><!-- contents -->
333 <div id="nav-path" class="navpath">
335 <li class="navelem"><b>boost</b> </li>
336 <li class="navelem"><a class="el" href="namespaceboost_1_1locale.html">locale</a> </li>
337 <li class="navelem"><a class="el" href="classboost_1_1locale_1_1hold__ptr.html">hold_ptr</a> </li>
340 © Copyright 2009-2012 Artyom Beilis, Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License</a>, Version 1.0.