<!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++: shared_ptr.h File 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('a01030.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">shared_ptr.h File Reference</div> </div> </div> <div class="contents"> <p><a href="a01030_source.html">Go to the source code of this file.</a></p> <h2><a name="nested-classes"></a> Classes</h2> <ul> <li>class <a class="el" href="a00461.html">std::enable_shared_from_this< _Tp ></a> <dl class="el"><dd class="mdescRight">Base class allowing use of member function shared_from_this. <a href="a00461.html#details">More...</a><br/></dl><li>struct <a class="el" href="a00512.html">std::hash< shared_ptr< _Tp > ></a> <dl class="el"><dd class="mdescRight"><a class="el" href="a00498.html" title="Primary class template hash.">std::hash</a> specialization for <a class="el" href="a00265.html" title="A smart pointer with reference-counted copy semantics.">shared_ptr</a>. <a href="a00512.html#details">More...</a><br/></dl><li>struct <a class="el" href="a00649.html">std::owner_less< shared_ptr< _Tp > ></a> <dl class="el"><dd class="mdescRight">Partial specialization of owner_less for <a class="el" href="a00265.html" title="A smart pointer with reference-counted copy semantics.">shared_ptr</a>. <a href="a00649.html#details">More...</a><br/></dl><li>struct <a class="el" href="a00650.html">std::owner_less< weak_ptr< _Tp > ></a> <dl class="el"><dd class="mdescRight">Partial specialization of owner_less for <a class="el" href="a00741.html" title="A smart pointer with weak semantics.">weak_ptr</a>. <a href="a00650.html#details">More...</a><br/></dl><li>class <a class="el" href="a00265.html">std::shared_ptr< _Tp ></a> <dl class="el"><dd class="mdescRight">A smart pointer with reference-counted copy semantics. <a href="a00265.html#details">More...</a><br/></dl><li>class <a class="el" href="a00741.html">std::weak_ptr< _Tp ></a> <dl class="el"><dd class="mdescRight">A smart pointer with weak semantics. <a href="a00741.html#details">More...</a><br/></dl></ul> <h2><a name="namespaces"></a> Namespaces</h2> <ul> <li>namespace <a class="el" href="a01137.html">std</a> </ul> <h2><a name="func-members"></a> Functions</h2> <ul> <li>template<typename _Tp , typename _Alloc , typename... _Args> shared_ptr< _Tp > <a class="el" href="a01171.html#ga92d6ae5bbd9191bd09fac414029f3ccf">std::allocate_shared</a> (const _Alloc &__a, _Args &&...__args) <li><a class="anchor" id="ga03b8df8d1db9efcdd4ad2c4c2322beb1"></a><!-- doxytag: member="shared_ptr.h::const_pointer_cast" ref="ga03b8df8d1db9efcdd4ad2c4c2322beb1" args="(const shared_ptr< _Tp1 > &__r)" --> template<typename _Tp , typename _Tp1 > shared_ptr< _Tp > <b>std::const_pointer_cast</b> (const shared_ptr< _Tp1 > &__r) <li><a class="anchor" id="ga7345aef36d1a53b1995a4aa1636ce928"></a><!-- doxytag: member="shared_ptr.h::dynamic_pointer_cast" ref="ga7345aef36d1a53b1995a4aa1636ce928" args="(const shared_ptr< _Tp1 > &__r)" --> template<typename _Tp , typename _Tp1 > shared_ptr< _Tp > <b>std::dynamic_pointer_cast</b> (const shared_ptr< _Tp1 > &__r) <li>template<typename _Del , typename _Tp , _Lock_policy _Lp> _Del * <a class="el" href="a01171.html#gacb1027dc4edd3d9f6cdd91fb230cde90">std::get_deleter</a> (const __shared_ptr< _Tp, _Lp > &__p) <li>template<typename _Tp , typename... _Args> shared_ptr< _Tp > <a class="el" href="a01171.html#ga3e40f2d796edcbadaed5431f8c1fc1a8">std::make_shared</a> (_Args &&...__args) <li><a class="anchor" id="ga6bd93635b46d3af81d27f069d67322b8"></a><!-- doxytag: member="shared_ptr.h::operator!=" ref="ga6bd93635b46d3af81d27f069d67322b8" args="(nullptr_t, const shared_ptr< _Tp > &__b)" --> template<typename _Tp > bool <b>std::operator!=</b> (nullptr_t, const shared_ptr< _Tp > &__b) <li><a class="anchor" id="ga3d7bd1d78e7c3bbc178035520fd119e2"></a><!-- doxytag: member="shared_ptr.h::operator!=" ref="ga3d7bd1d78e7c3bbc178035520fd119e2" args="(const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b)" --> template<typename _Tp1 , typename _Tp2 > bool <b>std::operator!=</b> (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) <li><a class="anchor" id="gaf84da57c130b440548ad15da65e3fbfb"></a><!-- doxytag: member="shared_ptr.h::operator!=" ref="gaf84da57c130b440548ad15da65e3fbfb" args="(const shared_ptr< _Tp > &__a, nullptr_t)" --> template<typename _Tp > bool <b>std::operator!=</b> (const shared_ptr< _Tp > &__a, nullptr_t) <li><a class="anchor" id="ga94aeef5170a6f6be74dc5e2ced67896c"></a><!-- doxytag: member="shared_ptr.h::operator<" ref="ga94aeef5170a6f6be74dc5e2ced67896c" args="(const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b)" --> template<typename _Tp1 , typename _Tp2 > bool <b>std::operator<</b> (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) <li>template<typename _Ch , typename _Tr , typename _Tp , _Lock_policy _Lp> <a class="el" href="a00251.html">std::basic_ostream</a>< _Ch, _Tr > & <a class="el" href="a01171.html#ga0bbd55ab1b63f887fcbecad216956ef8">std::operator<<</a> (<a class="el" href="a00251.html">std::basic_ostream</a>< _Ch, _Tr > &__os, const __shared_ptr< _Tp, _Lp > &__p) <li><a class="anchor" id="gabce3d3e6768ebbc7cce2cc700e882302"></a><!-- doxytag: member="shared_ptr.h::operator==" ref="gabce3d3e6768ebbc7cce2cc700e882302" args="(const shared_ptr< _Tp > &__a, nullptr_t)" --> template<typename _Tp > bool <b>std::operator==</b> (const shared_ptr< _Tp > &__a, nullptr_t) <li><a class="anchor" id="gabc220f0e2a8bce9b739e6a802de176dd"></a><!-- doxytag: member="shared_ptr.h::operator==" ref="gabc220f0e2a8bce9b739e6a802de176dd" args="(nullptr_t, const shared_ptr< _Tp > &__b)" --> template<typename _Tp > bool <b>std::operator==</b> (nullptr_t, const shared_ptr< _Tp > &__b) <li><a class="anchor" id="ga6eb1e7b674d23983d62b5c9fe0dd5d61"></a><!-- doxytag: member="shared_ptr.h::operator==" ref="ga6eb1e7b674d23983d62b5c9fe0dd5d61" args="(const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b)" --> template<typename _Tp1 , typename _Tp2 > bool <b>std::operator==</b> (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) <li><a class="anchor" id="ga30fc7ffe95dd243f0fc240f1c4705b3b"></a><!-- doxytag: member="shared_ptr.h::static_pointer_cast" ref="ga30fc7ffe95dd243f0fc240f1c4705b3b" args="(const shared_ptr< _Tp1 > &__r)" --> template<typename _Tp , typename _Tp1 > shared_ptr< _Tp > <b>std::static_pointer_cast</b> (const shared_ptr< _Tp1 > &__r) <li><a class="anchor" id="gad152264070d53585c3db501c30092ca4"></a><!-- doxytag: member="shared_ptr.h::swap" ref="gad152264070d53585c3db501c30092ca4" args="(shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b)" --> template<typename _Tp > void <b>std::swap</b> (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) <li><a class="anchor" id="ga992f701be47a694fe2da42e51fc08a5b"></a><!-- doxytag: member="shared_ptr.h::swap" ref="ga992f701be47a694fe2da42e51fc08a5b" args="(weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b)" --> template<typename _Tp > void <b>std::swap</b> (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <memory>. </p> <p>Definition in file <a class="el" href="a01030_source.html">shared_ptr.h</a>.</p> </div></div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01030.html">shared_ptr.h</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>