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">
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" />
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>
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>
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>
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>
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>
63 Distributed under the Boost Software License, Version
1.0. (See accompanying
64 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>