<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"/><title>Chapter6. Utilities</title><metaname="generator"content="DocBook XSL-NS Stylesheets V1.78.1"/><metaname="keywords"content="ISO C++, library"/><metaname="keywords"content="ISO C++, runtime, library"/><linkrel="home"href="../index.html"title="The GNU C++ Library"/><linkrel="up"href="std_contents.html"title="PartII. Standard Contents"/><linkrel="prev"href="concept_checking.html"title="Concept Checking"/><linkrel="next"href="pairs.html"title="Pairs"/></head><body><divclass="navheader"><tablewidth="100%"summary="Navigation header"><tr><thcolspan="3"align="center">Chapter6.
</h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="utilities.html#std.util.functors">Functors</a></span></dt><dt><spanclass="section"><ahref="pairs.html">Pairs</a></span></dt><dt><spanclass="section"><ahref="memory.html">Memory</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#allocator.req">Requirements</a></span></dt><dt><spanclass="section"><ahref="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><spanclass="section"><ahref="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#idm269891950848">Interface Design</a></span></dt><dt><spanclass="section"><ahref="memory.html#idm269891947296">Selecting Default Allocation Policy</a></span></dt><dt><spanclass="section"><ahref="memory.html#idm269891934000">Disabling Memory Caching</a></span></dt></dl></dd><dt><spanclass="section"><ahref="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><spanclass="section"><ahref="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><spanclass="section"><ahref="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><spanclass="section"><ahref="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><spanclass="section"><ahref="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><spanclass="section"><ahref="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><spanclass="section"><ahref="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><spanclass="section"><ahref="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#idm269891814224">Class Hierarchy</a></span></dt><dt><spanclass="section"><ahref="memory.html#idm269891791712">Thread Safety</a></span></dt><dt><spanclass="section"><ahref="memory.html#idm269891784416">Selecting Lock Policy</a></span></dt><dt><spanclass="section"><ahref="memory.html#idm269891769792">Related functions and classes</a></span></dt></dl></dd><dt><spanclass="section"><ahref="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><spanclass="section"><ahref="memory.html#idm269891753440">Examples</a></span></dt><dt><spanclass="section"><ahref="memory.html#idm269891749856">Unresolved Issues</a></span></dt></dl></dd><dt><spanclass="section"><ahref="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><spanclass="section"><ahref="traits.html">Traits</a></span></dt></dl></div><divclass="section"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people