<!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"/> <title>libstdc++: std::unique_ptr< _Tp, _Dp > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libstdc++</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00731.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">std::unique_ptr< _Tp, _Dp > Class Template Reference<div class="ingroups"><a class="el" href="a01171.html">Pointer Abstractions</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="std::unique_ptr" --> <p>20.7.12.2 <a class="el" href="a00731.html" title="20.7.12.2 unique_ptr for single objects.">unique_ptr</a> for single objects. <a href="a00731.html#details">More...</a></p> <p><a href="a02420.html">List of all members.</a></p> <h2><a name="pub-types"></a> Public Types</h2> <ul> <li><a class="anchor" id="a11ee95d9e7697fe99d8d1304b8c040b6"></a><!-- doxytag: member="std::unique_ptr::deleter_type" ref="a11ee95d9e7697fe99d8d1304b8c040b6" args="" --> typedef _Dp <b>deleter_type</b> <li><a class="anchor" id="a5f5b6ad24d107418bc5e40addf08ebd4"></a><!-- doxytag: member="std::unique_ptr::element_type" ref="a5f5b6ad24d107418bc5e40addf08ebd4" args="" --> typedef _Tp <b>element_type</b> <li><a class="anchor" id="aa9288dd1a17e3877a4893239d3b95522"></a><!-- doxytag: member="std::unique_ptr::pointer" ref="aa9288dd1a17e3877a4893239d3b95522" args="" --> typedef _Pointer::type <b>pointer</b> </ul> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="anchor" id="a4813af15235ef5370cc7f06fa7de1758"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="a4813af15235ef5370cc7f06fa7de1758" args="(pointer __p)" --> <b>unique_ptr</b> (pointer __p) <li><a class="anchor" id="a43d6fbe8ad18390263e2a77db7570f81"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="a43d6fbe8ad18390263e2a77db7570f81" args="(pointer __p, typename std::remove_reference< deleter_type >::type &&__d)" --> <b>unique_ptr</b> (pointer __p, typename <a class="el" href="a00691.html">std::remove_reference</a>< deleter_type >::type &&__d) <li><a class="anchor" id="a0184d8c2a1f279f21c539244e3fa4792"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="a0184d8c2a1f279f21c539244e3fa4792" args="(nullptr_t)" --> constexpr <b>unique_ptr</b> (nullptr_t) <li><a class="anchor" id="a75e70077a0837f62f6aca40c6888f4dc"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="a75e70077a0837f62f6aca40c6888f4dc" args="(const unique_ptr &)" --> <b>unique_ptr</b> (const <a class="el" href="a00731.html">unique_ptr</a> &) <li><a class="anchor" id="a763980202911f7d0847d350b424b0004"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="a763980202911f7d0847d350b424b0004" args="(pointer __p, typename std::conditional< std::is_reference< deleter_type >::value, deleter_type, const deleter_type & >::type __d)" --> <b>unique_ptr</b> (pointer __p, typename <a class="el" href="a00437.html">std::conditional</a>< <a class="el" href="a00561.html">std::is_reference</a>< deleter_type >::value, deleter_type, const deleter_type & >::type __d) <li><a class="anchor" id="aa7e8b6f8c0c4d382f433bec19165aecb"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="aa7e8b6f8c0c4d382f433bec19165aecb" args="(unique_ptr &&__u)" --> <b>unique_ptr</b> (<a class="el" href="a00731.html">unique_ptr</a> &&__u) <li><a class="anchor" id="afd667fb813e1b7821b074b88f4dd4867"></a><!-- doxytag: member="std::unique_ptr::unique_ptr" ref="afd667fb813e1b7821b074b88f4dd4867" args="(unique_ptr< _Up, _Ep > &&__u)" --> template<typename _Up , typename _Ep , typename = typename std::enable_if <std::is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>::value && !std::is_array<_Up>::value && ((std::is_reference<_Dp>::value && std::is_same<_Ep, _Dp>::value) || (!std::is_reference<_Dp>::value && std::is_convertible<_Ep, _Dp>::value))> ::type> <b>unique_ptr</b> (<a class="el" href="a00731.html">unique_ptr</a>< _Up, _Ep > &&__u) <li><a class="anchor" id="a65b8849d54dfe964b724c3898fed9b50"></a><!-- doxytag: member="std::unique_ptr::get" ref="a65b8849d54dfe964b724c3898fed9b50" args="() const " --> pointer <b>get</b> () const <li><a class="anchor" id="ada3259319d02c5a14c713d2df00c01aa"></a><!-- doxytag: member="std::unique_ptr::get_deleter" ref="ada3259319d02c5a14c713d2df00c01aa" args="() const " --> const deleter_type & <b>get_deleter</b> () const <li><a class="anchor" id="a9ea1cfc144229a85894fc9b33f4cb99f"></a><!-- doxytag: member="std::unique_ptr::get_deleter" ref="a9ea1cfc144229a85894fc9b33f4cb99f" args="()" --> deleter_type & <b>get_deleter</b> () <li><a class="anchor" id="adb341c1a58850b2831b3d4fded13f333"></a><!-- doxytag: member="std::unique_ptr::operator bool" ref="adb341c1a58850b2831b3d4fded13f333" args="() const " --> <b>operator bool</b> () const <li><a class="anchor" id="a12744061ae5b3bc9eab52f8b000b9e14"></a><!-- doxytag: member="std::unique_ptr::operator*" ref="a12744061ae5b3bc9eab52f8b000b9e14" args="() const " --> <a class="el" href="a00359.html">std::add_lvalue_reference</a><br class="typebreak"/> < element_type >::type <b>operator*</b> () const <li><a class="anchor" id="a28ffdf9cfd36cdd086a5a098cce7b503"></a><!-- doxytag: member="std::unique_ptr::operator->" ref="a28ffdf9cfd36cdd086a5a098cce7b503" args="() const " --> pointer <b>operator-></b> () const <li><a class="anchor" id="ad7b2908e4736344b2379ad402f045f44"></a><!-- doxytag: member="std::unique_ptr::operator=" ref="ad7b2908e4736344b2379ad402f045f44" args="(const unique_ptr &)" --> <a class="el" href="a00731.html">unique_ptr</a> & <b>operator=</b> (const <a class="el" href="a00731.html">unique_ptr</a> &) <li><a class="anchor" id="a50e8b37c368647f9fbf287bac5bfcd70"></a><!-- doxytag: member="std::unique_ptr::operator=" ref="a50e8b37c368647f9fbf287bac5bfcd70" args="(unique_ptr &&__u)" --> <a class="el" href="a00731.html">unique_ptr</a> & <b>operator=</b> (<a class="el" href="a00731.html">unique_ptr</a> &&__u) <li><a class="anchor" id="a80819095cc24fecf4b20e34cdb41892c"></a><!-- doxytag: member="std::unique_ptr::operator=" ref="a80819095cc24fecf4b20e34cdb41892c" args="(nullptr_t)" --> <a class="el" href="a00731.html">unique_ptr</a> & <b>operator=</b> (nullptr_t) <li><a class="anchor" id="af948fb43ace7af6091434c7c0e4c29fb"></a><!-- doxytag: member="std::unique_ptr::operator=" ref="af948fb43ace7af6091434c7c0e4c29fb" args="(unique_ptr< _Up, _Ep > &&__u)" --> template<typename _Up , typename _Ep , typename = typename std::enable_if <std::is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>::value && !std::is_array<_Up>::value>::type> <a class="el" href="a00731.html">unique_ptr</a> & <b>operator=</b> (<a class="el" href="a00731.html">unique_ptr</a>< _Up, _Ep > &&__u) <li><a class="anchor" id="a3119a90d209ac83a2e9e273ccdfe2d7e"></a><!-- doxytag: member="std::unique_ptr::release" ref="a3119a90d209ac83a2e9e273ccdfe2d7e" args="()" --> pointer <b>release</b> () <li><a class="anchor" id="a9f8fc74139b26e957df889157f76220d"></a><!-- doxytag: member="std::unique_ptr::reset" ref="a9f8fc74139b26e957df889157f76220d" args="(pointer __p=pointer())" --> void <b>reset</b> (pointer __p=pointer()) <li><a class="anchor" id="aff05ef37ce0fb1b00eb3966b04c905ea"></a><!-- doxytag: member="std::unique_ptr::swap" ref="aff05ef37ce0fb1b00eb3966b04c905ea" args="(unique_ptr &__u)" --> void <b>swap</b> (<a class="el" href="a00731.html">unique_ptr</a> &__u) </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<typename _Tp, typename _Dp = default_delete<_Tp>><br/> class std::unique_ptr< _Tp, _Dp ></h3> <p>20.7.12.2 <a class="el" href="a00731.html" title="20.7.12.2 unique_ptr for single objects.">unique_ptr</a> for single objects. </p> <p>Definition at line <a class="el" href="a01099_source.html#l00088">88</a> of file <a class="el" href="a01099_source.html">unique_ptr.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01099_source.html">unique_ptr.h</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01137.html">std</a> </li> <li class="navelem"><a class="el" href="a00731.html">unique_ptr</a> </li> <li class="footer">Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li> </ul> </div> </body> </html>