associative_ptr_container.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <meta name="generator" content="Docutils 0.3.10: http://docutils.sourceforge.net/" />
  7. <title>Boost Pointer Container Library</title>
  8. <style type="text/css">
  9. /*
  10. :Author: David Goodger
  11. :Contact: goodger@users.sourceforge.net
  12. :Date: $Date$
  13. :Revision: $Revision$
  14. :Copyright: This stylesheet has been placed in the public domain.
  15. Default cascading style sheet for the HTML output of Docutils.
  16. See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
  17. customize this style sheet.
  18. */
  19. /* "! important" is used here to override other ``margin-top`` and
  20. ``margin-bottom`` styles that are later in the stylesheet or
  21. more specific. See http://www.w3.org/TR/CSS1#the-cascade */
  22. .first {
  23. margin-top: 0 ! important }
  24. .last, .with-subtitle {
  25. margin-bottom: 0 ! important }
  26. .hidden {
  27. display: none }
  28. a.toc-backref {
  29. text-decoration: none ;
  30. color: black }
  31. blockquote.epigraph {
  32. margin: 2em 5em ; }
  33. dl.docutils dd {
  34. margin-bottom: 0.5em }
  35. /* Uncomment (and remove this text!) to get bold-faced definition list terms
  36. dl.docutils dt {
  37. font-weight: bold }
  38. */
  39. div.abstract {
  40. margin: 2em 5em }
  41. div.abstract p.topic-title {
  42. font-weight: bold ;
  43. text-align: center }
  44. div.admonition, div.attention, div.caution, div.danger, div.error,
  45. div.hint, div.important, div.note, div.tip, div.warning {
  46. margin: 2em ;
  47. border: medium outset ;
  48. padding: 1em }
  49. div.admonition p.admonition-title, div.hint p.admonition-title,
  50. div.important p.admonition-title, div.note p.admonition-title,
  51. div.tip p.admonition-title {
  52. font-weight: bold ;
  53. font-family: sans-serif }
  54. div.attention p.admonition-title, div.caution p.admonition-title,
  55. div.danger p.admonition-title, div.error p.admonition-title,
  56. div.warning p.admonition-title {
  57. color: red ;
  58. font-weight: bold ;
  59. font-family: sans-serif }
  60. /* Uncomment (and remove this text!) to get reduced vertical space in
  61. compound paragraphs.
  62. div.compound .compound-first, div.compound .compound-middle {
  63. margin-bottom: 0.5em }
  64. div.compound .compound-last, div.compound .compound-middle {
  65. margin-top: 0.5em }
  66. */
  67. div.dedication {
  68. margin: 2em 5em ;
  69. text-align: center ;
  70. font-style: italic }
  71. div.dedication p.topic-title {
  72. font-weight: bold ;
  73. font-style: normal }
  74. div.figure {
  75. margin-left: 2em }
  76. div.footer, div.header {
  77. clear: both;
  78. font-size: smaller }
  79. div.line-block {
  80. display: block ;
  81. margin-top: 1em ;
  82. margin-bottom: 1em }
  83. div.line-block div.line-block {
  84. margin-top: 0 ;
  85. margin-bottom: 0 ;
  86. margin-left: 1.5em }
  87. div.sidebar {
  88. margin-left: 1em ;
  89. border: medium outset ;
  90. padding: 1em ;
  91. background-color: #ffffee ;
  92. width: 40% ;
  93. float: right ;
  94. clear: right }
  95. div.sidebar p.rubric {
  96. font-family: sans-serif ;
  97. font-size: medium }
  98. div.system-messages {
  99. margin: 5em }
  100. div.system-messages h1 {
  101. color: red }
  102. div.system-message {
  103. border: medium outset ;
  104. padding: 1em }
  105. div.system-message p.system-message-title {
  106. color: red ;
  107. font-weight: bold }
  108. div.topic {
  109. margin: 2em }
  110. h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
  111. h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
  112. margin-top: 0.4em }
  113. h1.title {
  114. text-align: center }
  115. h2.subtitle {
  116. text-align: center }
  117. hr.docutils {
  118. width: 75% }
  119. img.align-left {
  120. clear: left }
  121. img.align-right {
  122. clear: right }
  123. img.borderless {
  124. border: 0 }
  125. ol.simple, ul.simple {
  126. margin-bottom: 1em }
  127. ol.arabic {
  128. list-style: decimal }
  129. ol.loweralpha {
  130. list-style: lower-alpha }
  131. ol.upperalpha {
  132. list-style: upper-alpha }
  133. ol.lowerroman {
  134. list-style: lower-roman }
  135. ol.upperroman {
  136. list-style: upper-roman }
  137. p.attribution {
  138. text-align: right ;
  139. margin-left: 50% }
  140. p.caption {
  141. font-style: italic }
  142. p.credits {
  143. font-style: italic ;
  144. font-size: smaller }
  145. p.label {
  146. white-space: nowrap }
  147. p.rubric {
  148. font-weight: bold ;
  149. font-size: larger ;
  150. color: maroon ;
  151. text-align: center }
  152. p.sidebar-title {
  153. font-family: sans-serif ;
  154. font-weight: bold ;
  155. font-size: larger }
  156. p.sidebar-subtitle {
  157. font-family: sans-serif ;
  158. font-weight: bold }
  159. p.topic-title {
  160. font-weight: bold }
  161. pre.address {
  162. margin-bottom: 0 ;
  163. margin-top: 0 ;
  164. font-family: serif ;
  165. font-size: 100% }
  166. pre.line-block {
  167. font-family: serif ;
  168. font-size: 100% }
  169. pre.literal-block, pre.doctest-block {
  170. margin-left: 2em ;
  171. margin-right: 2em ;
  172. background-color: #eeeeee }
  173. span.classifier {
  174. font-family: sans-serif ;
  175. font-style: oblique }
  176. span.classifier-delimiter {
  177. font-family: sans-serif ;
  178. font-weight: bold }
  179. span.interpreted {
  180. font-family: sans-serif }
  181. span.option {
  182. white-space: nowrap }
  183. span.pre {
  184. white-space: pre }
  185. span.problematic {
  186. color: red }
  187. span.section-subtitle {
  188. /* font-size relative to parent (h1..h6 element) */
  189. font-size: 80% }
  190. table.citation {
  191. border-left: solid thin gray }
  192. table.docinfo {
  193. margin: 2em 4em }
  194. table.docutils {
  195. margin-top: 0.5em ;
  196. margin-bottom: 0.5em }
  197. table.footnote {
  198. border-left: solid thin black }
  199. table.docutils td, table.docutils th,
  200. table.docinfo td, table.docinfo th {
  201. padding-left: 0.5em ;
  202. padding-right: 0.5em ;
  203. vertical-align: top }
  204. table.docutils th.field-name, table.docinfo th.docinfo-name {
  205. font-weight: bold ;
  206. text-align: left ;
  207. white-space: nowrap ;
  208. padding-left: 0 }
  209. h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
  210. h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
  211. font-size: 100% }
  212. tt.docutils {
  213. background-color: #eeeeee }
  214. ul.auto-toc {
  215. list-style-type: none }
  216. </style>
  217. </head>
  218. <body>
  219. <div class="document" id="boost-pointer-container-library">
  220. <h1 class="title"><img alt="Boost" src="boost.png" /> Pointer Container Library</h1>
  221. <div class="section">
  222. <h1><a id="class-associative-ptr-container" name="class-associative-ptr-container">Class <tt class="docutils literal"><span class="pre">associative_ptr_container</span></tt></a></h1>
  223. <p>This section describes all the common operations for all associative
  224. pointer containers (in addition to <tt class="docutils literal"><span class="pre">reversible_ptr_container</span></tt>).</p>
  225. <p><strong>Hierarchy:</strong></p>
  226. <ul class="simple">
  227. <li><a class="reference" href="reversible_ptr_container.html">reversible_ptr_container</a><ul>
  228. <li><tt class="docutils literal"><span class="pre">associative_ptr_container</span></tt><ul>
  229. <li><a class="reference" href="ptr_set_adapter.html">ptr_set_adapter</a></li>
  230. <li><a class="reference" href="ptr_multiset_adapter.html">ptr_multiset_adapter</a></li>
  231. <li><a class="reference" href="ptr_map_adapter.html">ptr_map_adapter</a></li>
  232. <li><a class="reference" href="ptr_multimap_adapter.html">ptr_multi_map_adapter</a><ul>
  233. <li><a class="reference" href="ptr_set.html">ptr_set</a></li>
  234. <li><a class="reference" href="ptr_multiset.html">ptr_multi_set</a></li>
  235. <li><a class="reference" href="ptr_map.html">ptr_map</a></li>
  236. <li><a class="reference" href="ptr_multimap.html">ptr_multimap</a></li>
  237. </ul>
  238. </li>
  239. </ul>
  240. </li>
  241. </ul>
  242. </li>
  243. </ul>
  244. <p><strong>See also:</strong></p>
  245. <ul class="simple">
  246. <li><a class="reference" href="http://www.boost.org/libs/range/doc/utility_class.html#iter_range">iterator_range</a></li>
  247. </ul>
  248. <p><strong>Navigate:</strong></p>
  249. <ul class="simple">
  250. <li><a class="reference" href="ptr_container.html">home</a></li>
  251. <li><a class="reference" href="reference.html">reference</a></li>
  252. </ul>
  253. <p><strong>Synopsis:</strong></p>
  254. <pre class="literal-block">
  255. namespace boost
  256. {
  257. template
  258. &lt;
  259. class Key,
  260. class CloneAllocator = heap_clone_allocator
  261. &gt;
  262. class associative_ptr_container
  263. {
  264. public: // <a class="reference" href="#typedefs">typedefs</a>
  265. typedef ... key_type;
  266. typedef ... key_compare;
  267. typedef ... value_compare;
  268. public: // <a class="reference" href="#observers">observers</a>
  269. key_compare key_comp() const;
  270. value_compare value_comp() const;
  271. public: // <a class="reference" href="#modifiers">modifiers</a>
  272. template&lt; typename InputIterator &gt;
  273. void insert( InputIterator first, InputIterator last );
  274. template&lt; class InputRange &gt;
  275. void insert( const InputRange&amp; r );
  276. void erase( iterator position );
  277. size_type erase( const key_type&amp; x );
  278. template&lt; class Range &gt;
  279. void erase( const Range&amp; r );
  280. void erase( iterator first, iterator last );
  281. public: // <a class="reference" href="#algorithms">algorithms</a>
  282. iterator find( const key_type&amp; x );
  283. const_iterator find( const key_type&amp; x ) const;
  284. size_type count( const key_type&amp; x ) const;
  285. iterator lower_bound( const key_type&amp; x );
  286. const_iterator lower_bound( const key_type&amp; x ) const;
  287. iterator upper_bound( const key_type&amp; x );
  288. const_iterator upper_bound( const key_type&amp; x ) const;
  289. iterator_range&lt;iterator&gt; equal_range( const key_type&amp; x );
  290. iterator_range&lt;const_iterator&gt; equal_range( const key_type&amp; x ) const;
  291. }; // class 'associative_ptr_container'
  292. } // namespace 'boost'
  293. </pre>
  294. </div>
  295. <div class="section">
  296. <h1><a id="semantics" name="semantics">Semantics</a></h1>
  297. <div class="section">
  298. <h2><a id="semantics-typedefs" name="semantics-typedefs"><span id="typedefs"></span>Semantics: typedefs</a></h2>
  299. <ul>
  300. <li><p class="first"><tt class="docutils literal"><span class="pre">typedef</span> <span class="pre">...</span> <span class="pre">key_type;</span></tt></p>
  301. <blockquote>
  302. <ul class="simple">
  303. <li>if we are dealing with a map, then simply the key type</li>
  304. <li>if we are dealing with a set, then the <em>indirected</em> key type, that is,
  305. given <tt class="docutils literal"><span class="pre">ptr_set&lt;T&gt;</span></tt>, <tt class="docutils literal"><span class="pre">key_type*</span></tt> will be <tt class="docutils literal"><span class="pre">T*</span></tt>.</li>
  306. </ul>
  307. </blockquote>
  308. </li>
  309. <li><p class="first"><tt class="docutils literal"><span class="pre">typedef</span> <span class="pre">...</span> <span class="pre">key_compare;</span></tt></p>
  310. <blockquote>
  311. <ul class="simple">
  312. <li>comparison object type that determines the order of elements in the container</li>
  313. </ul>
  314. </blockquote>
  315. </li>
  316. <li><p class="first"><tt class="docutils literal"><span class="pre">typedef</span> <span class="pre">...</span> <span class="pre">value_compare;</span></tt></p>
  317. <blockquote>
  318. <ul class="simple">
  319. <li>comparison object type that determines the order of elements in the container</li>
  320. <li>if we are dealing with a map, then this comparison simply forwards to the <tt class="docutils literal"><span class="pre">key_compare</span></tt> comparison operation</li>
  321. </ul>
  322. </blockquote>
  323. </li>
  324. </ul>
  325. </div>
  326. <div class="section">
  327. <h2><a id="semantics-observers" name="semantics-observers"><span id="observers"></span>Semantics: observers</a></h2>
  328. <ul>
  329. <li><p class="first"><tt class="docutils literal"><span class="pre">key_compare</span> <span class="pre">key_comp()</span> <span class="pre">const;</span></tt></p>
  330. </li>
  331. <li><p class="first"><tt class="docutils literal"><span class="pre">value_compare</span> <span class="pre">value_comp()</span> <span class="pre">const;</span></tt></p>
  332. <blockquote>
  333. <ul class="simple">
  334. <li>returns copies of objects used to determine the order of elements</li>
  335. </ul>
  336. </blockquote>
  337. </li>
  338. </ul>
  339. </div>
  340. <div class="section">
  341. <h2><a id="semantics-modifiers" name="semantics-modifiers"><span id="modifiers"></span>Semantics: modifiers</a></h2>
  342. <ul>
  343. <li><p class="first"><tt class="docutils literal"><span class="pre">template&lt;</span> <span class="pre">typename</span> <span class="pre">InputIterator</span> <span class="pre">&gt;</span>
  344. <span class="pre">void</span> <span class="pre">insert(</span> <span class="pre">InputIterator</span> <span class="pre">first,</span> <span class="pre">InputIterator</span> <span class="pre">last</span> <span class="pre">);</span></tt></p>
  345. <blockquote>
  346. <ul class="simple">
  347. <li>Requirements: <tt class="docutils literal"><span class="pre">[first,last)</span></tt> is a valid range</li>
  348. <li>Effects: Inserts a cloned range</li>
  349. <li>Exception safety: Basic guarantee</li>
  350. </ul>
  351. </blockquote>
  352. </li>
  353. <li><p class="first"><tt class="docutils literal"><span class="pre">template&lt;</span> <span class="pre">class</span> <span class="pre">InputRange</span> <span class="pre">&gt;</span>
  354. <span class="pre">void</span> <span class="pre">insert(</span> <span class="pre">const</span> <span class="pre">InputRange&amp;</span> <span class="pre">r</span> <span class="pre">);</span></tt></p>
  355. <blockquote>
  356. <ul class="simple">
  357. <li>Effects: <tt class="docutils literal"><span class="pre">insert(</span> <span class="pre">boost::begin(r),</span> <span class="pre">boost::end(r)</span> <span class="pre">);</span></tt></li>
  358. </ul>
  359. </blockquote>
  360. </li>
  361. <li><p class="first"><tt class="docutils literal"><span class="pre">void</span> <span class="pre">erase(</span> <span class="pre">iterator</span> <span class="pre">position</span> <span class="pre">);</span></tt></p>
  362. <blockquote>
  363. <ul class="simple">
  364. <li>Requirements: <tt class="docutils literal"><span class="pre">position</span></tt> is a valid iterator from the container</li>
  365. <li>Effects: Removes the element defined by <tt class="docutils literal"><span class="pre">position</span></tt>.</li>
  366. <li>Throws: Nothing</li>
  367. </ul>
  368. </blockquote>
  369. </li>
  370. <li><p class="first"><tt class="docutils literal"><span class="pre">size_type</span> <span class="pre">erase(</span> <span class="pre">const</span> <span class="pre">key_type&amp;</span> <span class="pre">x</span> <span class="pre">);</span></tt></p>
  371. <blockquote>
  372. <ul class="simple">
  373. <li>Effects: Removes all the elements in the container with a key equivalent to <tt class="docutils literal"><span class="pre">x</span></tt> and returns the number of erased elements.</li>
  374. <li>Throws: Nothing</li>
  375. </ul>
  376. </blockquote>
  377. </li>
  378. <li><p class="first"><tt class="docutils literal"><span class="pre">void</span> <span class="pre">erase(</span> <span class="pre">iterator</span> <span class="pre">first,</span> <span class="pre">iterator</span> <span class="pre">last</span> <span class="pre">);</span></tt></p>
  379. <blockquote>
  380. <ul class="simple">
  381. <li>Requirements: <tt class="docutils literal"><span class="pre">[first,last)</span></tt> is a valid range</li>
  382. <li>Effects: Removes the range of elements defined by <tt class="docutils literal"><span class="pre">[first,last)</span></tt>.</li>
  383. <li>Throws: Nothing</li>
  384. </ul>
  385. </blockquote>
  386. </li>
  387. <li><p class="first"><tt class="docutils literal"><span class="pre">template&lt;</span> <span class="pre">class</span> <span class="pre">Range</span> <span class="pre">&gt;</span> <span class="pre">void</span> <span class="pre">erase(</span> <span class="pre">const</span> <span class="pre">Range&amp;</span> <span class="pre">r</span> <span class="pre">);</span></tt></p>
  388. <blockquote>
  389. <ul class="simple">
  390. <li>Effects: <tt class="docutils literal"><span class="pre">erase(</span> <span class="pre">boost::begin(r),</span> <span class="pre">boost::end(r)</span> <span class="pre">);</span></tt></li>
  391. </ul>
  392. </blockquote>
  393. </li>
  394. </ul>
  395. </div>
  396. <div class="section">
  397. <h2><a id="semantics-algorithms" name="semantics-algorithms"><span id="algorithms"></span>Semantics: algorithms</a></h2>
  398. <ul>
  399. <li><p class="first"><tt class="docutils literal"><span class="pre">iterator</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="pre">find(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">);</span></tt></p>
  400. </li>
  401. <li><p class="first"><tt class="docutils literal"><span class="pre">const_iterator</span> <span class="pre">find(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">)</span> <span class="pre">const;</span></tt></p>
  402. <blockquote>
  403. <ul class="simple">
  404. <li>Effects: Searches for the key and returns <tt class="docutils literal"><span class="pre">end()</span></tt> on failure.</li>
  405. <li>Complexity: Logarithmic</li>
  406. </ul>
  407. </blockquote>
  408. </li>
  409. <li><p class="first"><tt class="docutils literal"><span class="pre">size_type</span> <span class="pre">count(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">)</span> <span class="pre">const;</span></tt></p>
  410. <blockquote>
  411. <ul class="simple">
  412. <li>Effects: Counts the elements with a key equivalent to <tt class="docutils literal"><span class="pre">x</span></tt></li>
  413. <li>Complexity: Logarithmic</li>
  414. </ul>
  415. </blockquote>
  416. </li>
  417. <li><p class="first"><tt class="docutils literal"><span class="pre">iterator</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="pre">lower_bound(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">);</span></tt></p>
  418. </li>
  419. <li><p class="first"><tt class="docutils literal"><span class="pre">const_iterator</span> <span class="pre">lower_bound(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">)</span> <span class="pre">const;</span></tt></p>
  420. <blockquote>
  421. <ul class="simple">
  422. <li>Effects: Returns an iterator pointing to the first element with a key not less than <tt class="docutils literal"><span class="pre">x</span></tt></li>
  423. <li>Complexity: Logarithmic</li>
  424. </ul>
  425. </blockquote>
  426. </li>
  427. <li><p class="first"><tt class="docutils literal"><span class="pre">iterator</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="pre">upper_bound(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">);</span></tt></p>
  428. </li>
  429. <li><p class="first"><tt class="docutils literal"><span class="pre">const_iterator</span> <span class="pre">upper_bound(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">)</span> <span class="pre">const;</span></tt></p>
  430. <blockquote>
  431. <ul class="simple">
  432. <li>Effects: Returns an iterator pointing to the first element with a key greater than <tt class="docutils literal"><span class="pre">x</span></tt></li>
  433. <li>Complexity: Logarithmic</li>
  434. </ul>
  435. </blockquote>
  436. </li>
  437. <li><p class="first"><tt class="docutils literal"><span class="pre">iterator_range&lt;iterator&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="pre">equal_range(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">);</span></tt></p>
  438. </li>
  439. <li><p class="first"><tt class="docutils literal"><span class="pre">iterator_range&lt;const_iterator&gt;</span> <span class="pre">equal_range(</span> <span class="pre">const</span> <span class="pre">Key&amp;</span> <span class="pre">x</span> <span class="pre">)</span> <span class="pre">const;</span></tt></p>
  440. <blockquote>
  441. <ul class="simple">
  442. <li>Effects: <tt class="docutils literal"><span class="pre">return</span> <span class="pre">boost::make_iterator_range(</span> <span class="pre">lower_bound(</span> <span class="pre">x</span> <span class="pre">),</span> <span class="pre">upper_bound(</span> <span class="pre">x</span> <span class="pre">)</span> <span class="pre">);</span></tt></li>
  443. <li>Complexity: Logarithmic</li>
  444. </ul>
  445. </blockquote>
  446. </li>
  447. </ul>
  448. <!-- - ``reference at( const key_type& key );``
  449. - ``const_reference at( const key_type& key ) const;``
  450. - Requirements: the key exists
  451. - Effects: returns the object with key ``key``
  452. - Throws: ``bad_ptr_container_operation`` if the key does not exist -->
  453. <hr><table class="docutils field-list" frame="void" rules="none">
  454. <col class="field-name" />
  455. <col class="field-body" />
  456. <tbody valign="top">
  457. <tr class="field"><th class="field-name">Copyright:</th><td class="field-body">Thorsten Ottosen 2004-2006. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see <a class="reference" href="http://www.boost.org/LICENSE_1_0.txt">LICENSE_1_0.txt</a>).</td>
  458. </tr>
  459. </tbody>
  460. </table>
  461. </div>
  462. </div>
  463. </div>
  464. </body>
  465. </html>