<!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('a00732.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< _Tp[], _Dp >" --> <p>20.7.12.3 <a class="el" href="a00731.html" title="20.7.12.2 unique_ptr for single objects.">unique_ptr</a> for array objects with a runtime length <a href="a00732.html#details">More...</a></p> <p><a href="a02421.html">List of all members.</a></p> <h2><a name="pub-types"></a> Public Types</h2> <ul> <li><a class="anchor" id="a0e9b629f50bb5a75b9430c790bb48d61"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::deleter_type" ref="a0e9b629f50bb5a75b9430c790bb48d61" args="" --> typedef _Dp <b>deleter_type</b> <li><a class="anchor" id="a88e75ef4dded1330895922a051468cd7"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::element_type" ref="a88e75ef4dded1330895922a051468cd7" args="" --> typedef _Tp <b>element_type</b> <li><a class="anchor" id="a710482aff7c2eaa6fc37d68767816770"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::pointer" ref="a710482aff7c2eaa6fc37d68767816770" args="" --> typedef _Tp * <b>pointer</b> </ul> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="anchor" id="a8846ca93697ba1946a5b872be7a82546"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="a8846ca93697ba1946a5b872be7a82546" args="(pointer __p)" --> <b>unique_ptr</b> (pointer __p) <li><a class="anchor" id="a3fbd630b6da53d06f6bcde20b84e3b57"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="a3fbd630b6da53d06f6bcde20b84e3b57" args="(_Up *, typename std::remove_reference< deleter_type >::type &&, typename std::enable_if< std::is_convertible< _Up *, pointer >::value >::type *=0)" --> template<typename _Up > <b>unique_ptr</b> (_Up *, typename <a class="el" href="a00691.html">std::remove_reference</a>< deleter_type >::type &&, typename <a class="el" href="a00255.html">std::enable_if</a>< <a class="el" href="a00540.html">std::is_convertible</a>< _Up *, pointer >::value >::type *=0) <li><a class="anchor" id="a344ca5d8c0ac0c6d0a8fc6c7ccf41be5"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="a344ca5d8c0ac0c6d0a8fc6c7ccf41be5" 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="ad6f23ae1aa7ee602036291a6944f18c8"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="ad6f23ae1aa7ee602036291a6944f18c8" args="(nullptr_t)" --> constexpr <b>unique_ptr</b> (nullptr_t) <li><a class="anchor" id="a8b0ebdc33ab6fbb9d914ce313b4d4bf0"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="a8b0ebdc33ab6fbb9d914ce313b4d4bf0" args="(const unique_ptr &)" --> <b>unique_ptr</b> (const <a class="el" href="a00731.html">unique_ptr</a> &) <li><a class="anchor" id="a2756adf32796b7df831572122a473a44"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="a2756adf32796b7df831572122a473a44" 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="ae7fc86d994852f16735dba9f80dd7227"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="ae7fc86d994852f16735dba9f80dd7227" args="(unique_ptr &&__u)" --> <b>unique_ptr</b> (<a class="el" href="a00731.html">unique_ptr</a> &&__u) <li><a class="anchor" id="a2869f09d306c257e2270fc294cdf3b9f"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="a2869f09d306c257e2270fc294cdf3b9f" args="(_Up *, typename std::conditional< std::is_reference< deleter_type >::value, deleter_type, const deleter_type & >::type, typename std::enable_if< std::is_convertible< _Up *, pointer >::value >::type *=0)" --> template<typename _Up > <b>unique_ptr</b> (_Up *, 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, typename <a class="el" href="a00255.html">std::enable_if</a>< <a class="el" href="a00540.html">std::is_convertible</a>< _Up *, pointer >::value >::type *=0) <li><a class="anchor" id="af17f841593438d2268fdf2857680efd5"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="af17f841593438d2268fdf2857680efd5" args="(_Up *, typename std::enable_if< std::is_convertible< _Up *, pointer >::value >::type *=0)" --> template<typename _Up > <b>unique_ptr</b> (_Up *, typename <a class="el" href="a00255.html">std::enable_if</a>< <a class="el" href="a00540.html">std::is_convertible</a>< _Up *, pointer >::value >::type *=0) <li><a class="anchor" id="ac1146cd490b733481c4ff9a10ee57b5d"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::unique_ptr" ref="ac1146cd490b733481c4ff9a10ee57b5d" args="(unique_ptr< _Up, _Ep > &&__u)" --> template<typename _Up , typename _Ep > <b>unique_ptr</b> (<a class="el" href="a00731.html">unique_ptr</a>< _Up, _Ep > &&__u) <li><a class="anchor" id="a74cb2a10dfa9c901dbac81a33255cd24"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::get" ref="a74cb2a10dfa9c901dbac81a33255cd24" args="() const " --> pointer <b>get</b> () const <li><a class="anchor" id="a0ecd7f9af2f274bd2285acb9444df64c"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::get_deleter" ref="a0ecd7f9af2f274bd2285acb9444df64c" args="()" --> deleter_type & <b>get_deleter</b> () <li><a class="anchor" id="a7977ca9698e10ac88cf0a9cebdcffbc2"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::get_deleter" ref="a7977ca9698e10ac88cf0a9cebdcffbc2" args="() const " --> const deleter_type & <b>get_deleter</b> () const <li><a class="anchor" id="a7749ae1e6ebe9dc80427f3ef4656aca7"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::operator bool" ref="a7749ae1e6ebe9dc80427f3ef4656aca7" args="() const " --> <b>operator bool</b> () const <li><a class="anchor" id="a03a683788a89ffbca588e8567a01e08d"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::operator=" ref="a03a683788a89ffbca588e8567a01e08d" args="(nullptr_t)" --> <a class="el" href="a00731.html">unique_ptr</a> & <b>operator=</b> (nullptr_t) <li><a class="anchor" id="af30bee2b4e5bd9ea03c031d6a52ce0f9"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::operator=" ref="af30bee2b4e5bd9ea03c031d6a52ce0f9" args="(unique_ptr< _Up, _Ep > &&__u)" --> template<typename _Up , typename _Ep > <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="ae21c2bdfff760d6e6a791ab1479ede67"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::operator=" ref="ae21c2bdfff760d6e6a791ab1479ede67" 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="a1fad5a58e9a05d64c92a89fb9c4067de"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::operator=" ref="a1fad5a58e9a05d64c92a89fb9c4067de" 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="ad49e8273c689bfd4b0204fb3023ef488"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::operator[]" ref="ad49e8273c689bfd4b0204fb3023ef488" args="(size_t __i) const " --> <a class="el" href="a00359.html">std::add_lvalue_reference</a><br class="typebreak"/> < element_type >::type <b>operator[]</b> (size_t __i) const <li><a class="anchor" id="a6f9681a14c480a3b5298218348a7dfec"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::release" ref="a6f9681a14c480a3b5298218348a7dfec" args="()" --> pointer <b>release</b> () <li><a class="anchor" id="a25b921f52fa5a223b914075388eaf38b"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::reset" ref="a25b921f52fa5a223b914075388eaf38b" args="(pointer __p=pointer())" --> void <b>reset</b> (pointer __p=pointer()) <li><a class="anchor" id="aff4883bfc6f9341da0ebc6eb50f23769"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::reset" ref="aff4883bfc6f9341da0ebc6eb50f23769" args="(nullptr_t)" --> void <b>reset</b> (nullptr_t) <li><a class="anchor" id="a819d33a3208a73dcf38241c67ae40605"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::reset" ref="a819d33a3208a73dcf38241c67ae40605" args="(_Up)" --> template<typename _Up > void <b>reset</b> (_Up) <li><a class="anchor" id="a96d186c96982799d93869c06a61828ec"></a><!-- doxytag: member="std::unique_ptr< _Tp[], _Dp >::swap" ref="a96d186c96982799d93869c06a61828ec" 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><br/> class std::unique_ptr< _Tp[], _Dp ></h3> <p>20.7.12.3 <a class="el" href="a00731.html" title="20.7.12.2 unique_ptr for single objects.">unique_ptr</a> for array objects with a runtime length </p> <p>Definition at line <a class="el" href="a01099_source.html#l00265">265</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="a00732.html">unique_ptr< _Tp[], _Dp ></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>