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