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> <a href="./at.html" class="navigation-link">Next</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./views.html" class="navigation-link">Back</a> Along</span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./sequences.html" class="navigation-link">Up</a> <a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator"> | </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> 17documented 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 20from 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 22usually 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 27default implementation that will work in majority of cases, given 28that you've implemented the core functionality they rely on (such 29as <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 60<div class="footer-separator"></div> 61<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> <a href="./at.html" class="navigation-link">Next</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./views.html" class="navigation-link">Back</a> Along</span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./sequences.html" class="navigation-link">Up</a> <a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td> 62<td><div class="copyright-footer"><div class="copyright">Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams</div> 63Distributed under the Boost Software License, Version 1.0. (See accompanying 64file 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> 65</html> 66