Compare commits

...

8 Commits

Author SHA1 Message Date
Beman Dawes ffd9a06567 1.36.0
[SVN r48100]
2008-08-12 12:44:50 +00:00
Aleksey Gurtovoy 0b84aa1225 Merge in critical bug fixes from the trunk (r46570, 46546 and 46620)
[SVN r47650]
2008-07-21 08:00:06 +00:00
Beman Dawes 4d29901677 Apply changeset 43865, fixing #1718
[SVN r43872]
2008-03-26 17:13:05 +00:00
Daniel James 94523928d4 Merged revisions 43206,43208-43213 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r43206 | danieljames | 2008-02-10 09:55:03 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Fix some broken links.
........
  r43209 | danieljames | 2008-02-10 14:56:22 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Link to people pages on the website, as they've been removed from the download.
........
  r43210 | danieljames | 2008-02-10 15:02:17 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Point links to the pages that used to be in 'more' to the site.
........
  r43212 | danieljames | 2008-02-10 16:10:16 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Fix links on the home page as well.
........
  r43213 | danieljames | 2008-02-10 16:21:22 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Generated documentation which is no longer generated.
........


[SVN r43214]
2008-02-10 16:39:38 +00:00
Beman Dawes b91fcf5664 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
Beman Dawes 7ec3e698d6 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
Beman Dawes d71c289879 Starting point for releases
[SVN r39706]
2007-10-05 14:25:06 +00:00
nobody c3184eb9dd This commit was manufactured by cvs2svn to create tag
'Version_1_34_1'.

[SVN r38286]
2007-07-24 19:28:14 +00:00
246 changed files with 1505 additions and 316 deletions
Executable → Regular
View File
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Asserts//BOOST_MPL_ASSERT
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_ASSERT
================
+7 -2
View File
@@ -1,5 +1,10 @@
.. Macros/Asserts//BOOST_MPL_ASSERT_MSG
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_ASSERT_MSG
====================
@@ -62,7 +67,7 @@ arbitrary types ``t1``, ``t2``,... ``tn``:
``t1``, ``t2``,... ``tn`` are non-``void``.
:Semantics:
Generates a compilation error if ``expr::value != true``, otherwise
Generates a compilation error if ``expr != true``, otherwise
has no effect.
When possible within the compiler's diagnostic capabilities,
@@ -85,7 +90,7 @@ arbitrary types ``t1``, ``t2``,... ``tn``:
None.
:Semantics:
Generates a compilation error if ``expr::value != true``, otherwise
Generates a compilation error if ``expr != true``, otherwise
has no effect.
When possible within the compiler's diagnostics capabilities,
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Asserts//BOOST_MPL_ASSERT_NOT
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_ASSERT_NOT
====================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Asserts//BOOST_MPL_ASSERT_RELATION
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_ASSERT_RELATION
=========================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Broken Compiler Workarounds//BOOST_MPL_AUX_LAMBDA_SUPPORT
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_AUX_LAMBDA_SUPPORT
============================
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The format and language of this reference documentation has been greatly influenced by
the SGI's `Standard Template Library Programmer's Guide`__.
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Iteration algorithms are the basic building blocks behind many of the
MPL's algorithms, and are usually the first place to look at when
starting to build a new one. Abstracting away the details of sequence
@@ -1,2 +1,7 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |Querying Algorithms| replace:: `Querying Algorithms`_
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. The MPL *runtime algorithms* provide out-of-box support for the
common scenarios of crossing compile time/runtime boundary.
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
According to their name, MPL's *transformation*, or *sequence-building
algorithms* provide the tools for building new sequences from the existing
ones by performing some kind of transformation. A typical transformation
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The MPL provides a broad range of fundamental algorithms aimed to
satisfy the majority of sequential compile-time data processing
needs. The algorithms include compile-time counterparts
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Associative Sequence |70
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Associative Sequence
====================
@@ -1,10 +0,0 @@
.. The MPL *runtime algorithms* provide out-of-box support for the
common scenarios of crossing compile time/runtime boundary.
.. |Runtime Algorithms| replace:: `Runtime Algorithms`_
.. |runtime algorithm| replace:: `runtime algorithm`_
.. _runtime algorithm: `Runtime Algorithms`_
.. |runtime algorithms| replace:: `runtime algorithms`_
-140
View File
@@ -1,140 +0,0 @@
.. Algorithms/Runtime Algorithms//for_each |10
for_each
========
Synopsis
--------
.. parsed-literal::
template<
typename Sequence
, typename F
>
void for_each( F f );
template<
typename Sequence
, typename TransformOp
, typename F
>
void for_each( F f );
Description
-----------
``for_each`` is a family of overloaded function templates:
* ``for_each<Sequence>( f )`` applies the runtime function object
``f`` to every element in the |begin/end<Sequence>| range.
* ``for_each<Sequence,TransformOp>( f )`` applies the runtime function
object ``f`` to the result of the transformation ``TransformOp`` of
every element in the |begin/end<Sequence>| range.
Header
------
.. parsed-literal::
#include <boost/mpl/for_each.hpp>
Parameters
----------
+-------------------+-----------------------------------+-----------------------------------+
| Parameter | Requirement | Description |
+===================+===================================+===================================+
| ``Sequence`` | |Forward Sequence| | A sequence to iterate. |
+-------------------+-----------------------------------+-----------------------------------+
| ``TransformOp`` | |Lambda Expression| | A transformation. |
+-------------------+-----------------------------------+-----------------------------------+
| ``f`` | An |unary function object| | A runtime operation to apply. |
+-------------------+-----------------------------------+-----------------------------------+
Expression semantics
--------------------
For any |Forward Sequence| ``s``, |Lambda Expression| ``op`` , and an
|unary function object| ``f``:
.. parsed-literal::
for_each<s>( f );
:Return type:
``void``
:Postcondition:
Equivalent to
.. parsed-literal::
typedef begin<Sequence>::type i\ :sub:`1`;
|value_initialized|\ < deref<i\ :sub:`1`>::type > x\ :sub:`1`;
f(boost::get(x\ :sub:`1`));
typedef next<i\ :sub:`1`>::type i\ :sub:`2`;
|value_initialized|\ < deref<i\ :sub:`2`>::type > x\ :sub:`2`;
f(boost::get(x\ :sub:`2`));
|...|
|value_initialized|\ < deref<i\ :sub:`n`>::type > x\ :sub:`n`;
f(boost::get(x\ :sub:`n`));
typedef next<i\ :sub:`n`>::type last;
where ``n == size<s>::value`` and ``last`` is identical to
``end<s>::type``; no effect if ``empty<s>::value == true``.
.. parsed-literal::
for_each<s,op>( f );
:Return type:
``void``
:Postcondition:
Equivalent to
.. parsed-literal::
for_each< tranform_view<s,op> >( f );
Complexity
----------
Linear. Exactly ``size<s>::value`` applications of ``op`` and ``f``.
Example
-------
.. parsed-literal::
struct value_printer
{
template< typename U > void operator()(U x)
{
std::cout << x << '\n';
}
};
int main()
{
for_each< range_c<int,0,10> >( value_printer() );
}
See also
--------
|Runtime Algorithms|, |Views|, |transform_view|
.. |unary function object| replace:: `unary function object <http://www.sgi.com/tech/stl/UnaryFunction.html>`_
.. |value_initialized| replace:: `value_initialized <http://www.boost.org/libs/utility/value_init.htm>`_
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Back Extensible Sequence |60
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Back Extensible Sequence
========================
@@ -1,5 +1,10 @@
.. Iterators/Concepts//Bidirectional Iterator |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Bidirectional Iterator
======================
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Bidirectional Sequence |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Bidirectional Sequence
======================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_CFG_NO_HAS_XXX |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_CFG_NO_HAS_XXX
========================
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
=====================================
.. _`BOOST_MPL_CFG_NO_PREPROCESSED`:
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. _`Categorized`:
Concepts
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. _`Data`:
.. |Data Types| replace:: `Data Types`_
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Extensible Associative Sequence |80
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Extensible Associative Sequence
===============================
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Extensible Sequence |40
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Extensible Sequence
===================
+5
View File
@@ -1,5 +1,10 @@
.. Iterators/Concepts//Forward Iterator |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Forward Iterator
================
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Forward Sequence |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Forward Sequence
================
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Front Extensible Sequence |50
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Front Extensible Sequence
=========================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Introspection//BOOST_MPL_HAS_XXX_TRAIT_DEF
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_HAS_XXX_TRAIT_DEF
===========================
@@ -1,5 +1,10 @@
.. Macros/Introspection//BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF
=================================
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Concepts//Inserter
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Inserter
========
+5
View File
@@ -1,5 +1,10 @@
.. Data Types/Concepts//Integral Constant
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Integral Constant
=================
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Integral Sequence Wrapper |90
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Integral Sequence Wrapper
=========================
+5
View File
@@ -1,5 +1,10 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
All iterators in MPL are classified into three iterator concepts, or
`categories`, named according to the type of traversal provided. The
categories are: |Forward Iterator|, |Bidirectional Iterator|, and
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
From the implementation standpoint, iterators are almost-opaque types which
guarantee to provide us with the only memeber that we can access directly:
their category. Incrementing, dereferencing and the rest of iterator
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Iterators are generic means of addressing a particular element or a range
of sequential elements in a sequence. They are also a mechanism that makes
it possible to decouple `algorithms`__ from concrete compile-time `sequence
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_LIMIT_LIST_SIZE |40
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_LIMIT_LIST_SIZE
=========================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_LIMIT_MAP_SIZE |60
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_LIMIT_MAP_SIZE
========================
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_LIMIT_METAFUNCTION_ARITY |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_LIMIT_METAFUNCTION_ARITY
==================================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_LIMIT_SET_SIZE |50
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_LIMIT_SET_SIZE
========================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_LIMIT_UNROLLING |70
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_LIMIT_UNROLLING
=========================
+5
View File
@@ -1,5 +1,10 @@
.. Macros/Configuration//BOOST_MPL_LIMIT_VECTOR_SIZE |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_MPL_LIMIT_VECTOR_SIZE
===========================
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Lambda Expression |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Lambda Expression
=================
+5
View File
@@ -1,5 +1,10 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The MPL supplies a suite of static assertion macros that are specifically
designed to generate maximally useful and informative error messages
within the diagnostic capabilities of each compiler.
@@ -1,2 +1,7 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |Configuration| replace:: `Configuration`_
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Being a *template* metaprogramming framework, the MPL concentrates on
getting one thing done well and leaves most of the clearly
preprocessor-related tasks to the corresponding specialized
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Metafunction |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Metafunction
============
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Metafunction Class |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Metafunction Class
==================
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |Arithmetic Operations| replace:: `Arithmetic Operations`_
.. |arithmetic| replace:: `arithmetic`__
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |Bitwise Operations| replace:: `Bitwise Operations`_
.. |bitwise| replace:: `bitwise`__
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |Comparisons| replace:: `Comparisons`_
.. |comparison| replace:: `comparison`__
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |Composition and Argument Binding| replace:: `Composition and Argument Binding`_
.. |composition| replace:: `composition`__
@@ -1,3 +1,8 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |control flow| replace:: `control flow`__
__ `Control Flow`_
@@ -1,3 +1,8 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |invocation| replace:: `invocation`__
__ `Invocation`_
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |logical| replace:: `logical`__
__ `Logical Operations`_
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The MPL provides a number of |Trivial Metafunction|\ s that a nothing more than
thin wrappers for a differently-named class nested type members. While important
in the context of `in-place metafunction composition`__, these metafunctions have
+5
View File
@@ -1,3 +1,8 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
.. |type selection| replace:: `type selection`__
__ `Type Selection`_
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The MPL includes a number of predefined metafunctions that can be roughly
classified in two categories: `general purpose metafunctions`, dealing with
conditional |type selection| and higher-order metafunction |invocation|,
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Numeric Metafunction |60
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Numeric Metafunction
====================
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Placeholder Expression |40
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Placeholder Expression
======================
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Composition and Argument Binding//_1,_2,..._n |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Placeholders
============
@@ -1,5 +1,10 @@
.. Iterators/Concepts//Random Access Iterator |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Random Access Iterator
======================
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Random Access Sequence |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Random Access Sequence
======================
@@ -1,5 +1,10 @@
.. Algorithms/Concepts//Reversible Algorithm
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Reversible Algorithm
====================
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The MPL provides a large number of predefined general-purpose sequence
classes covering most of the typical metaprogramming needs out-of-box.
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The taxonomy of sequence concepts in MPL parallels the taxonomy of the MPL
|iterators|, with two additional classification dimensions:
`extensibility` and `associativeness`.
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
The metafunctions that form the essential interface of sequence `classes`__
documented in the corresponding |sequence concepts| are known as
*intrinsic sequence operations*. They differ from generic
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
A *view* is a sequence adaptor delivering an altered presentation of
one or more underlying sequences. Views are lazy, meaning that their
elements are only computed on demand. Similarly to the short-circuit
+5
View File
@@ -1,4 +1,9 @@
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Compile-time sequences of types are one of the basic concepts of C++
template metaprogramming. Differences in types of objects being
manipulated is the most common point of variability of similar, but
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Tag Dispatched Metafunction |50
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Tag Dispatched Metafunction
===========================
@@ -1,5 +1,10 @@
.. Metafunctions/Concepts//Trivial Metafunction |70
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Trivial Metafunction
====================
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Concepts//Variadic Sequence |100
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Variadic Sequence
=================
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Iteration Algorithms//accumulate |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
accumulate
==========
+5
View File
@@ -1,5 +1,10 @@
.. Iterators/Iterator Metafunctions//advance |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
advance
=======
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Miscellaneous//always |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
always
======
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Logical Operations//and_ |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
and\_
=====
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Invocation//apply |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
apply
=====
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Invocation//apply_wrap |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
apply_wrap
==========
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Composition and Argument Binding//arg |50
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
arg
===
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Intrinsic Metafunctions//at
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
at
==
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Intrinsic Metafunctions//at_c
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
at_c
====
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Intrinsic Metafunctions//back
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
back
====
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Inserters//back_inserter
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
back_inserter
=============
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Intrinsic Metafunctions//begin
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
begin
=====
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Composition and Argument Binding//bind |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
bind
====
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Bitwise Operations//bitand_
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
bitand\_
========
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Bitwise Operations//bitor_
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
bitor\_
=======
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Bitwise Operations//bitxor_
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
bitxor\_
========
+5
View File
@@ -1,5 +1,10 @@
.. Data Types/Numeric//bool_ |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
bool\_
======
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Intrinsic Metafunctions//clear
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
clear
=====
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Querying Algorithms//contains |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
contains
========
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Transformation Algorithms//copy |10
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
copy
====
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Transformation Algorithms//copy_if |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
copy_if
=======
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Querying Algorithms//count |40
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
count
=====
+5
View File
@@ -1,5 +1,10 @@
.. Algorithms/Querying Algorithms//count_if |50
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
count_if
========
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Classes//deque |30
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
deque
=====
+5
View File
@@ -1,5 +1,10 @@
.. Iterators/Iterator Metafunctions//deref |50
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
deref
=====
+5
View File
@@ -1,5 +1,10 @@
.. Iterators/Iterator Metafunctions//distance |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
distance
========
+5
View File
@@ -1,5 +1,10 @@
.. Metafunctions/Arithmetic Operations//divides |40
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
divides
=======
+5
View File
@@ -1,5 +1,10 @@
.. Sequences/Intrinsic Metafunctions//empty
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
empty
=====
+5
View File
@@ -1,5 +1,10 @@
.. Data Types/Miscellaneous//empty_base |20
.. Copyright Aleksey Gurtovoy, David Abrahams 2007.
.. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
empty_base
==========

Some files were not shown because too many files have changed in this diff Show More