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.6: http://docutils.sourceforge.net/" /> |
---|
7 | <title>THE BOOST MPL LIBRARY</title> |
---|
8 | <meta name="copyright" content="Copyright © Aleksey Gurtovoy and David Abrahams, 2002-2004." /> |
---|
9 | <link rel="stylesheet" href="style.css" type="text/css" /> |
---|
10 | </head> |
---|
11 | <body class="docframe"> |
---|
12 | <a class="reference" href="http://www.boost.org" target="_top"> |
---|
13 | <img align="left" alt="www.boost.org" src="../../../boost.png"/> |
---|
14 | </a> |
---|
15 | <h1 class="title">THE BOOST MPL LIBRARY</h1> |
---|
16 | <table class="docinfo" frame="void" rules="none"> |
---|
17 | <col class="docinfo-name" /> |
---|
18 | <col class="docinfo-content" /> |
---|
19 | <tbody valign="top"> |
---|
20 | <tr><th class="docinfo-name">Copyright:</th> |
---|
21 | <td>Copyright © Aleksey Gurtovoy and David Abrahams, 2002-2004.</td></tr> |
---|
22 | <tr class="field"><th class="docinfo-name">License:</th><td class="field-body">Distributed under the Boost Software License, Version 1.0. (See |
---|
23 | accompanying file <tt class="literal"><span class="pre">LICENSE_1_0.txt</span></tt> or copy at |
---|
24 | <a class="reference" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</td> |
---|
25 | </tr> |
---|
26 | </tbody> |
---|
27 | </table> |
---|
28 | <div class="document" id="the-boost-mpl-library"> |
---|
29 | <p>The Boost.MPL library is a general-purpose, high-level C++ |
---|
30 | template metaprogramming framework of compile-time algorithms, sequences and |
---|
31 | metafunctions. It provides a conceptual foundation and an extensive |
---|
32 | set of powerful and coherent tools that make doing explict metaprogramming |
---|
33 | in C++ as easy and enjoyable as possible within the current language.</p> |
---|
34 | <p>There are several places to start when getting familiar with the library, |
---|
35 | depending on what your know about metaprogramming in general and |
---|
36 | C++ template metaprogramming in particular. Starting with |
---|
37 | Boost version 1.32, the MPL comes with both an <a class="reference" href="./tutorial/tutorial-metafunctions.html">in-depth tutorial</a> on its |
---|
38 | fundamental concepts and an annotated <a class="reference" href="./tutorial/reference-manual.html">reference manual</a> covering all concepts |
---|
39 | and components in the library. While the tutorial |
---|
40 | only uncovers a bit of what there is to C++ metaprogramming and the MPL, |
---|
41 | it's a perfect place to start if you are only somewhat familiar with the |
---|
42 | subject. At the very least, after you're done with it, you will be able to put |
---|
43 | the rest of the stuff that appears here into context. The reference manual |
---|
44 | is <em>the</em> resource for you if you plan — or are already doing — some actual |
---|
45 | development with the library, but a casual reading is still allowed and likely |
---|
46 | to bring many insights on the framework's organization and underlying |
---|
47 | ideas. Finally, the top-level sections in this document that you |
---|
48 | see highlighted below might also offer something of interest.</p> |
---|
49 | <p>So, welcome, and happy metaprogramming!</p> |
---|
50 | <dl> |
---|
51 | <dt><strong>Important</strong>:</dt> |
---|
52 | <dd>There have been some major interface changes in the library since the last |
---|
53 | public release, many of which are <em>not</em> backward compatible. If you are |
---|
54 | a seasoned MPL user, be prepared to have to modify your code after |
---|
55 | upgrading. Please refer to the <a class="reference" href="./tutorial/changes-in-boost-1-32-0.html">1.32 release changelog</a> |
---|
56 | for the detailed information about the changes.</dd> |
---|
57 | </dl> |
---|
58 | <!-- .. section-numbering:: --> |
---|
59 | <ul class="toc simple" id="outline"> |
---|
60 | <li><a class="reference" href="./tutorial/tutorial-metafunctions.html" id="id40" name="id40">Tutorial: Metafunctions and Higher-Order Metaprogramming</a></li> |
---|
61 | <li><a class="reference" href="./tutorial/reference-manual.html" id="id61" name="id61">Reference Manual</a></li> |
---|
62 | <li><a class="reference" href="./tutorial/changelog-history.html" id="id62" name="id62">Changelog & History</a></li> |
---|
63 | <li><a class="reference" href="./tutorial/technical-details.html" id="id70" name="id70">Technical Details</a></li> |
---|
64 | <li><a class="reference" href="./tutorial/resources.html" id="id77" name="id77">Resources</a></li> |
---|
65 | <li><a class="reference" href="./tutorial/acknowledgements.html" id="id78" name="id78">Acknowledgements</a></li> |
---|
66 | <li><a class="reference" href="./tutorial/tutorial_toc.html">Full TOC</a></li> |
---|
67 | </ul> |
---|
68 | </div> |
---|
69 | <hr class="footer" /> |
---|
70 | <div class="footer"> |
---|
71 | Generated on: 2004-11-15 12:20 UTC. |
---|
72 | Generated by <a class="reference" href="http://docutils.sourceforge.net/" target="_top">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html" target="_top">reStructuredText</a> source. |
---|
73 | </div> |
---|
74 | </body> |
---|
75 | </html> |
---|