intrinsic-metafunctions.html 6.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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.7: http://docutils.sourceforge.net/" />
  7. <title>The MPL Reference Manual: Intrinsic Metafunctions</title>
  8. <link rel="stylesheet" href="../style.css" type="text/css" />
  9. </head>
  10. <body class="docframe refmanual">
  11. <table class="header"><tr class="header"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./zip-view.html" class="navigation-link">Prev</a>&nbsp;<a href="./at.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./views.html" class="navigation-link">Back</a>&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./sequences.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
  12. <td class="header-group page-location"><a href="../refmanual.html" class="navigation-link">Front Page</a> / <a href="./sequences.html" class="navigation-link">Sequences</a> / <a href="./intrinsic-metafunctions.html" class="navigation-link">Intrinsic Metafunctions</a></td>
  13. </tr></table><div class="header-separator"></div>
  14. <div class="section" id="intrinsic-metafunctions">
  15. <h1><a class="toc-backref" href="./sequences.html#id1424">Intrinsic Metafunctions</a></h1>
  16. <p id="label-sequences-intrinsic-metafunctions">The metafunctions that form the essential interface of sequence <a class="reference internal" href="./classes.html#label-sequences-classes">classes</a>
  17. documented in the corresponding <a class="reference internal" href="./concepts.html#label-sequences-concepts">sequence concepts</a> are known as
  18. <em>intrinsic sequence operations</em>. They differ from generic
  19. <a class="reference internal" href="./algorithms.html">sequence algorithms</a> in that, in general, they need to be implemented
  20. from scratch for each new sequence class <a class="footnote-reference" href="#intrinsic" id="id175">[1]</a>.</p>
  21. <p>It's worth noting that STL counterparts of these metafunctions are
  22. usually implemented as member functions.</p>
  23. <table class="docutils footnote" frame="void" id="intrinsic" rules="none">
  24. <colgroup><col class="label" /><col /></colgroup>
  25. <tbody valign="top">
  26. <tr><td class="label"><a class="fn-backref" href="#id175">[1]</a></td><td>In practice, many of intrinsic metafunctions offer a
  27. default implementation that will work in majority of cases, given
  28. that you've implemented the core functionality they rely on (such
  29. as <a class="reference internal" href="./begin.html">begin</a> / <a class="reference internal" href="./end.html">end</a>).</td></tr>
  30. </tbody>
  31. </table>
  32. <!-- Sequences/Intrinsic Metafunctions//at -->
  33. <ul class="toc simple" id="outline">
  34. <li><a class="reference internal" href="./at.html" id="id1425">at</a></li>
  35. <li><a class="reference internal" href="./at-c.html" id="id1426">at_c</a></li>
  36. <li><a class="reference internal" href="./back.html" id="id1427">back</a></li>
  37. <li><a class="reference internal" href="./begin.html" id="id1428">begin</a></li>
  38. <li><a class="reference internal" href="./clear.html" id="id1429">clear</a></li>
  39. <li><a class="reference internal" href="./empty.html" id="id1430">empty</a></li>
  40. <li><a class="reference internal" href="./end.html" id="id1431">end</a></li>
  41. <li><a class="reference internal" href="./erase.html" id="id1432">erase</a></li>
  42. <li><a class="reference internal" href="./erase-key.html" id="id1433">erase_key</a></li>
  43. <li><a class="reference internal" href="./front.html" id="id1434">front</a></li>
  44. <li><a class="reference internal" href="./has-key.html" id="id1435">has_key</a></li>
  45. <li><a class="reference internal" href="./insert.html" id="id1436">insert</a></li>
  46. <li><a class="reference internal" href="./insert-range.html" id="id1437">insert_range</a></li>
  47. <li><a class="reference internal" href="./is-sequence.html" id="id1438">is_sequence</a></li>
  48. <li><a class="reference internal" href="./key-type.html" id="id1439">key_type</a></li>
  49. <li><a class="reference internal" href="./order.html" id="id1440">order</a></li>
  50. <li><a class="reference internal" href="./pop-back.html" id="id1441">pop_back</a></li>
  51. <li><a class="reference internal" href="./pop-front.html" id="id1442">pop_front</a></li>
  52. <li><a class="reference internal" href="./push-back.html" id="id1443">push_back</a></li>
  53. <li><a class="reference internal" href="./push-front.html" id="id1444">push_front</a></li>
  54. <li><a class="reference internal" href="./sequence-tag.html" id="id1445">sequence_tag</a></li>
  55. <li><a class="reference internal" href="./size.html" id="id1446">size</a></li>
  56. <li><a class="reference internal" href="./value-type.html" id="id1447">value_type</a></li>
  57. </ul>
  58. </div>
  59. <div class="footer-separator"></div>
  60. <table class="footer"><tr class="footer"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./zip-view.html" class="navigation-link">Prev</a>&nbsp;<a href="./at.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./views.html" class="navigation-link">Back</a>&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./sequences.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
  61. <td><div class="copyright-footer"><div class="copyright">Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams</div>
  62. Distributed under the Boost Software License, Version 1.0. (See accompanying
  63. file LICENSE_1_0.txt or copy at <a class="reference external" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</div></td></tr></table></body>
  64. </html>