mirror of
https://github.com/boostorg/fusion.git
synced 2025-06-27 21:00:57 +02:00
Compare commits
1 Commits
boost-1.49
...
svn-branch
Author | SHA1 | Date | |
---|---|---|---|
38ed9ef905 |
20
changelist.txt
Normal file
20
changelist.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Interface Changes
|
||||
|
||||
- June 12, 2009: vector0 is now vector0<> as per Boost Trac Ticket #1608
|
||||
to follow MPL more closely.
|
||||
- September 24, 2009: added nview and friends
|
||||
- October 12, 2009: the accumulator is the first argument to the functor of
|
||||
fold and accumulate. Fixes Boost Trac Ticket #2355.
|
||||
- October 30, 2009: Added support for associative iterators & views.
|
||||
Renamed associative_sequence_tag to associative_tag. Fixes Boost Trac
|
||||
Ticket #3473.
|
||||
- April 4, 2010: Added array support, BOOST_FUSION_ADAPT_TPL_STRUCT,
|
||||
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT, BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED and
|
||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS
|
||||
- April 5, 2010: Added BOOST_FUSION_DEFINE_STRUCT,
|
||||
BOOST_FUSION_DEFINE_TPL_STRUCT, BOOST_FUSION_DEFINE_ASSOC_STRUCT and
|
||||
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
|
||||
- June 18, 2010: Added reverse_fold, iter_fold and reverse_iter_fold. Fixes
|
||||
Boost Trac Ticket #1623.
|
||||
- October 7, 2010: Added BOOST_FUSION_ADAPT_ADT, BOOST_FUSION_ADAPT_ASSOC_ADT,
|
||||
BOOST_FUSION_ADAPT_TPL_ADT and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT
|
@ -1,5 +1,5 @@
|
||||
#==============================================================================
|
||||
# Copyright (c) 2003-2011 Joel de Guzman
|
||||
# Copyright (c) 2003-2007 Joel de Guzman
|
||||
#
|
||||
# Use, modification and distribution is subject to the Boost Software
|
||||
# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
|
@ -1,6 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
|
@ -1,6 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
Copyright (C) 2010 Christopher Schmidt
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
|
@ -1,6 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
Copyright (C) 2010 Christopher Schmidt
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
@ -11,20 +10,18 @@
|
||||
|
||||
[heading Lazy Evaluation]
|
||||
|
||||
Unlike __mpl__, Fusion algorithms are lazy[footnote Except for some
|
||||
special cases such as __for_each__ and __copy__ which are inherently
|
||||
imperative algorithms.] and non sequence-type preserving [footnote What
|
||||
does that mean? It means that when you operate on a sequence through a
|
||||
Fusion algorithm that returns a sequence, the sequence returned may not
|
||||
be of the same class as the original]. This is by design. Runtime
|
||||
efficiency is given a high priority. Like __mpl__, and unlike __stl__,
|
||||
fusion algorithms are mostly functional in nature such that algorithms
|
||||
Unlike __mpl__, Fusion algorithms are lazy and non sequence-type
|
||||
preserving. What does that mean? It means that when you operate on a
|
||||
sequence through a Fusion algorithm that returns a sequence, the sequence
|
||||
returned may not be of the same class as the original. This is by design.
|
||||
Runtime efficiency is given a high priority. Like __mpl__, and unlike
|
||||
__stl__, fusion algorithms are functional in nature such that algorithms
|
||||
are non mutating (no side effects). However, due to the high cost of
|
||||
returning full sequences such as vectors and lists, /Views/ are returned
|
||||
from Fusion algorithms instead. For example, the __transform__ algorithm
|
||||
does not actually return a transformed version of the original sequence.
|
||||
__transform__ returns a __transform_view__. This view holds a reference
|
||||
to the original sequence plus the transform function. Iteration over the
|
||||
__transform__ returns a __transform_view__. This view holds a reference to
|
||||
the original sequence plus the transform function. Iteration over the
|
||||
__transform_view__ will apply the transform function over the sequence
|
||||
elements on demand. This /lazy/ evaluation scheme allows us to chain as
|
||||
many algorithms as we want without incurring a high runtime penalty.
|
||||
@ -40,7 +37,6 @@ the original sequence `s` and the value `x`. Functions that were once
|
||||
sequence specific and need to be implemented N times over N different
|
||||
sequences are now implemented only once. That is to say that Fusion
|
||||
sequences are cheaply extensible.
|
||||
|
||||
To regain the original sequence, __conversion__ functions are provided. You
|
||||
may use one of the __conversion__ functions to convert back to the original
|
||||
sequence type.
|
||||
@ -50,61 +46,6 @@ sequence type.
|
||||
#include <boost/fusion/algorithm.hpp>
|
||||
#include <boost/fusion/include/algorithm.hpp>
|
||||
|
||||
[section Auxiliary]
|
||||
|
||||
The auxiliary algorithms provide the utility algorithms for sequences.
|
||||
|
||||
[heading Header]
|
||||
|
||||
#include <boost/fusion/algorithm/auxiliary.hpp>
|
||||
#include <boost/fusion/include/auxiliary.hpp>
|
||||
|
||||
[section Functions]
|
||||
|
||||
[section copy]
|
||||
|
||||
[heading Description]
|
||||
Copy a sequence `src` to a sequence `dest`.
|
||||
It is also used to convert sequence into other.
|
||||
|
||||
[heading Synopsis]
|
||||
template <typename Seq1, typename Seq2>
|
||||
void copy(Seq1 const& src, Seq2& dest);
|
||||
|
||||
[table Parameters
|
||||
[[Parameter][Requirement][Description]]
|
||||
[[`src`][A model of __forward_sequence__, all elements contained in the `src` sequence should be convertible into the element contained in the `dest` sequence.][Operation's argument]]
|
||||
[[`dest`][A model of __forward_sequence__, `e2 = e1` is valid expression for each pair of elements `e1` of `src` and `e2` of `dest`.][Operation's argument]]
|
||||
]
|
||||
|
||||
[heading Expression Semantics]
|
||||
__copy__(src, dest);
|
||||
|
||||
[*Return type]: `void`
|
||||
|
||||
[*Semantics]: `e2 = e1` for each element `e1` in `src` and `e2` in `dest`.
|
||||
|
||||
[heading Complexity]
|
||||
Linear, exactly `__result_of_size__<Sequence>::value`.
|
||||
|
||||
[heading Header]
|
||||
|
||||
#include <boost/fusion/algorithm/auxiliary/copy.hpp>
|
||||
#include <boost/fusion/include/copy.hpp>
|
||||
|
||||
[heading Example]
|
||||
__vector__<int,int> vec(1,2);
|
||||
__list__<int,int> ls;
|
||||
__copy__(vec, ls);
|
||||
assert(ls == __make_list__(1,2));
|
||||
|
||||
[endsect]
|
||||
|
||||
[endsect]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
||||
[section Iteration]
|
||||
|
||||
The iteration algorithms provide the fundamental algorithms for traversing
|
||||
|
@ -1,7 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2006 Tobias Schwinger
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
Copyright (C) 2010 Christopher Schmidt
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
@ -39,10 +37,6 @@ This section summarizes significant changes to the Fusion library.
|
||||
(Christopher Schmidt)
|
||||
* October 7, 2010: Added __adapt_adt__, __adapt_tpl_adt__,
|
||||
__adapt_assoc_adt__ and __adapt_assoc_tpl_adt__ (Joel de Guzman,
|
||||
Hartmut Kaiser and Christopher Schmidt)
|
||||
* August 29, 2011: Added support for segmented sequences and iterators (Eric Niebler)
|
||||
* September 16, 2011: Added preprocessed files (using wave) to speed up
|
||||
compilation (Joel de Guzman)
|
||||
* October 8, 2011: Added adaptor for std::tuple (Joel de Guzman)
|
||||
Hartmut Kaiser and Christopher Schmidt)
|
||||
|
||||
[endsect]
|
||||
|
@ -1,6 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
|
@ -1,6 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
@ -391,7 +390,7 @@ for a variety of types.
|
||||
|
||||
[heading Description]
|
||||
The __sequence_facade__ template provides an intrusive mechanism for
|
||||
producing a conforming Fusion sequence.
|
||||
producing a conforming Fusion iterator.
|
||||
|
||||
[heading Synopsis]
|
||||
template<typename Derived, typename TravesalTag, typename IsView = mpl::false_>
|
||||
@ -416,8 +415,6 @@ The user must the implement the key expressions required by their sequence type.
|
||||
[[`sequence::template end<Seq>::call(seq)`][An iterator to the end of sequence `seq`]]
|
||||
[[`sequence::template size<Seq>::type`][The size of a sequence of type `Seq` as an __mpl_integral_constant__]]
|
||||
[[`sequence::template size<Seq>::call(seq)`][The size of sequence `seq`]]
|
||||
[[`sequence::template empty<Seq>::type`][Returns `mpl::true_` if `Seq` has zero elements, `mpl::false_` otherwise.]]
|
||||
[[`sequence::template empty<Seq>::call`][Returns a type convertible to `bool` that evaluates to true if the sequence is empty, else, evaluates to false. ]]
|
||||
[[`sequence::template at<Seq, N>::type`][The type of element `N` in a sequence of type `Seq`]]
|
||||
[[`sequence::template at<Seq, N>::call(seq)`][Element `N` in sequence `seq`]]
|
||||
[[`sequence::template value_at<Sequence, N>::type`][The type of the `N`th element in a sequence of type `Seq`]]
|
||||
@ -468,8 +465,8 @@ The user must the implement the key expressions required by their iterator type.
|
||||
[[`iterator::template advance<It, N>::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]]
|
||||
[[`iterator::template distance<It1, It2>::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]]
|
||||
[[`iterator::template distance<It1, It2>::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]]
|
||||
[[`iterator::template equal_to<It1, It2>::type`][Returns `mpl::true_` if `It1` is equal to `It2`, `mpl::false_` otherwise.][`boost::same_type<It1, It2>::type`]]
|
||||
[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][Returns a type convertible to `bool` that evaluates to `true` if `It1` is equal to `It2`, `false` otherwise.][`boost::same_type<It1, It2>::type()`]]
|
||||
[[`iterator::template equal_to<It1, It2>::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type<It1, It2>::type`]]
|
||||
[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type<It1, It2>::type()`]]
|
||||
[[`iterator::template key_of<It>::type`][The key type associated with the element from `It`][None]]
|
||||
[[`iterator::template value_of_data<It>::type`][The type of the data property associated with the element from `It`][None]]
|
||||
[[`iterator::template deref_data<It>::type`][The type that will be returned by dereferencing the data property of the element from `It`][None]]
|
||||
|
@ -1,5 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2006 Tobias Schwinger
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
|
@ -1,6 +1,5 @@
|
||||
[/==============================================================================
|
||||
Copyright (C) 2001-2011 Joel de Guzman
|
||||
Copyright (C) 2006 Dan Marsden
|
||||
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
|
||||
Copyright (C) 2010 Christopher Schmidt
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
@ -9,9 +8,9 @@
|
||||
===============================================================================/]
|
||||
[library Fusion
|
||||
[quickbook 1.3]
|
||||
[version 2.1]
|
||||
[version 2.0]
|
||||
[authors [de Guzman, Joel], [Marsden, Dan], [Schwinger, Tobias]]
|
||||
[copyright 2001 2002 2003 2004 2005 2006 2011 Joel de Guzman, Dan Marsden, Tobias Schwinger]
|
||||
[copyright 2001 2002 2003 2004 2005 2006 2007 Joel de Guzman, Dan Marsden, Tobias Schwinger]
|
||||
[purpose Statically Typed Heterogeneous Data Structures and Algorithms]
|
||||
[license
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
@ -216,7 +215,6 @@
|
||||
|
||||
[def __algorithm__ [link fusion.algorithm Algorithm]]
|
||||
[def __algorithms__ [link fusion.algorithm Algorithms]]
|
||||
[def __copy__ [link fusion.algorithm.auxiliary.functions.copy `copy`]]
|
||||
[def __fold__ [link fusion.algorithm.iteration.functions.fold `fold`]]
|
||||
[def __result_of_fold__ [link fusion.algorithm.iteration.metafunctions.fold `result_of::fold`]]
|
||||
[def __reverse_fold__ [link fusion.algorithm.iteration.functions.reverse_fold `reverse_fold`]]
|
||||
|
58
doc/html/fusion/acknowledgements.html
Normal file
58
doc/html/fusion/acknowledgements.html
Normal file
@ -0,0 +1,58 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="prev" href="change_log.html" title="Change log">
|
||||
<link rel="next" href="references.html" title="References">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="change_log.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Special thanks to David Abrahams, Douglas Gregor, Hartmut Kaiser, Aleksey Gurtovoy,
|
||||
Peder Holt, Daniel Wallin, Jaakko Jarvi, Jeremiah Willcock, Dan Marsden, Eric
|
||||
Niebler, Joao Abecasis and Andy Little. These people are instrumental in the
|
||||
design and development of Fusion.
|
||||
</p>
|
||||
<p>
|
||||
Special thanks to Ronald Garcia, the review manager and to all the people in
|
||||
the boost community who participated in the review: Andreas Pokorny, Andreas
|
||||
Huber, Jeff Flinn, David Abrahams, Pedro Lamarao, Larry Evans, Ryan Gallagher,
|
||||
Andy Little, Gennadiy Rozental, Tobias Schwinger, Joao Abecasis, Eric Niebler,
|
||||
Oleg Abrosimov, Gary Powell, Eric Friedman, Darren Cook, Martin Bonner and
|
||||
Douglas Gregor.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="change_log.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
102
doc/html/fusion/adapted.html
Normal file
102
doc/html/fusion/adapted.html
Normal file
@ -0,0 +1,102 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Adapted</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="prev" href="view/repetitive_view.html" title="repetitive_view">
|
||||
<link rel="next" href="adapted/array.html" title="Array">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="view/repetitive_view.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.adapted"></a><a class="link" href="adapted.html" title="Adapted">Adapted</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="adapted/array.html">Array</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/std__pair.html">std::pair</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/mpl_sequence.html">mpl sequence</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/boost__array.html">boost::array</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/boost__tuple.html">boost::tuple</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_struct.html">BOOST_FUSION_ADAPT_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_tpl_struct.html">BOOST_FUSION_ADAPT_TPL_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_struct_named.html">BOOST_FUSION_ADAPT_STRUCT_NAMED</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_assoc.html">BOOST_FUSION_ADAPT_ASSOC_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_assoc_tpl_struct.html">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_assoc_struct_named.html">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_adt.html">BOOST_FUSION_ADAPT_ADT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_tpl_adt.html">BOOST_FUSION_ADAPT_TPL_ADT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_assoc_adt.html">BOOST_FUSION_ADAPT_ASSOC_ADT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/adapt_assoc_tpl_adt.html">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/define_struct.html">BOOST_FUSION_DEFINE_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/define_tpl_struct.html">BOOST_FUSION_DEFINE_TPL_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/define_assoc_struct.html">BOOST_FUSION_DEFINE_ASSOC_STRUCT</a></span></dt>
|
||||
<dt><span class="section"><a href="adapted/define_assoc_tpl_struct.html">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
Fusion provides a couple of adapters for other sequences such as arrays, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>,
|
||||
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> sequences,
|
||||
and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>. These adapters are written using Fusion's
|
||||
non-intrusive <a class="link" href="extension.html" title="Extension">Extension</a> mechanism.
|
||||
If you wish to use these sequences with fusion, simply include the necessary
|
||||
files and they will be regarded as first-class, fully conforming fusion sequences.
|
||||
</p>
|
||||
<p>
|
||||
Fusion also provides various schemes to make it easy for the user to adapt
|
||||
various data structures, non-intrusively, as full fledged Fusion sequences.
|
||||
</p>
|
||||
<a name="fusion.adapted.header"></a><h4>
|
||||
<a name="id923124"></a>
|
||||
<a class="link" href="adapted.html#fusion.adapted.header">Header</a>
|
||||
</h4>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
Fusion sequences may also be adapted as fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences (see <a class="link" href="sequence/intrinsic.html" title="Intrinsic">Intrinsics</a>).
|
||||
That way, we can have 2-way adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
and Fusion. To make Fusion sequences fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences, include:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
If you want bi-directional adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
and Fusion, simply include:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
The header includes all the necessary headers.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="view/repetitive_view.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
165
doc/html/fusion/adapted/adapt_adt.html
Normal file
165
doc/html/fusion/adapted/adapt_adt.html
Normal file
@ -0,0 +1,165 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_ADT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED">
|
||||
<link rel="next" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_adt"></a><a class="link" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT">BOOST_FUSION_ADAPT_ADT</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the necessary
|
||||
boilerplate to adapt an arbitrary class type as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_adt.synopsis"></a><h5>
|
||||
<a name="id934417"></a>
|
||||
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span>
|
||||
<span class="identifier">type_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_adt.expression_semantics"></a><h5>
|
||||
<a name="id934535"></a>
|
||||
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
|
||||
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
|
||||
set_expr<span class="emphasis"><em>N</em></span>)</code> quadruples declares the types,
|
||||
const types, get-expressions and set-expressions of the elements that are
|
||||
part of the adapted fusion sequence. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code>
|
||||
is the expression that is invoked to get the <span class="emphasis"><em>N</em></span>th element
|
||||
of an instance of <code class="computeroutput"><span class="identifier">type_name</span></code>.
|
||||
This expression may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance
|
||||
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
|
||||
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
|
||||
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
|
||||
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
|
||||
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
|
||||
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
|
||||
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>,
|
||||
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
|
||||
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
|
||||
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
|
||||
which represents the right operand of the assignment expression.
|
||||
</p>
|
||||
<p>
|
||||
The actual return type of fusion's intrinsic sequence access (meta-)functions
|
||||
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
is a proxy type. This type is implicitly convertible to the attribute type
|
||||
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
|
||||
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
|
||||
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
|
||||
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
|
||||
and reference removed.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
should be the fully namespace qualified name of the class type to be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_adt.header"></a><h5>
|
||||
<a name="id934823"></a>
|
||||
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_adt.example"></a><h5>
|
||||
<a name="id934938"></a>
|
||||
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">private</span><span class="special">:</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span>
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">))</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">)))</span>
|
||||
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span> <span class="identifier">e</span><span class="special">;</span>
|
||||
<span class="identifier">front</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
|
||||
<span class="identifier">back</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
|
||||
<span class="comment">//Prints 'Edward Norton is 41 years old'
|
||||
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_adt.see_also"></a><h5>
|
||||
<a name="id936675"></a>
|
||||
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
117
doc/html/fusion/adapted/adapt_assoc.html
Normal file
117
doc/html/fusion/adapted/adapt_assoc.html
Normal file
@ -0,0 +1,117 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_ASSOC_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED">
|
||||
<link rel="next" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_assoc"></a><a class="link" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT">BOOST_FUSION_ADAPT_ASSOC_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.adapt_assoc.description"></a><h5>
|
||||
<a name="id929010"></a>
|
||||
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all
|
||||
the necessary boilerplate to make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc.synopsis"></a><h5>
|
||||
<a name="id929036"></a>
|
||||
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT</span><span class="special">(</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc.semantics"></a><h5>
|
||||
<a name="id929137"></a>
|
||||
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.semantics">Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">,</span>
|
||||
<span class="identifier">key_typeN</span><span class="special">)</span></code>
|
||||
triples declares the type, name and key type of each of the struct members
|
||||
that are part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
should be the fully namespace qualified name of the struct to be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc.header"></a><h5>
|
||||
<a name="id929214"></a>
|
||||
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc.example"></a><h5>
|
||||
<a name="id929329"></a>
|
||||
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// demo::employee is now a Fusion sequence.
|
||||
</span><span class="comment">// It is also an associative sequence with
|
||||
</span><span class="comment">// keys keys::name and keys::age present.
|
||||
</span><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT</span><span class="special">(</span>
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
175
doc/html/fusion/adapted/adapt_assoc_adt.html
Normal file
175
doc/html/fusion/adapted/adapt_assoc_adt.html
Normal file
@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_ASSOC_ADT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT">
|
||||
<link rel="next" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_assoc_adt"></a><a class="link" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT">BOOST_FUSION_ADAPT_ASSOC_ADT</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_ASSOC_ADT is a macro than can be used to generate all
|
||||
the necessary boilerplate to adapt an arbitrary class type as a model of
|
||||
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random Access
|
||||
Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_adt.synopsis"></a><h5>
|
||||
<a name="id938161"></a>
|
||||
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span><span class="special">(</span>
|
||||
<span class="identifier">type_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_adt.expression_semantics"></a><h5>
|
||||
<a name="id938295"></a>
|
||||
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
|
||||
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
|
||||
set_expr<span class="emphasis"><em>N</em></span>, key_type<span class="emphasis"><em>N</em></span>)</code>
|
||||
5-tuples declares the types, const types, get-expressions, set-expressions
|
||||
and key types of the elements that are part of the adapted fusion sequence.
|
||||
<code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> is the expression that
|
||||
is invoked to get the <span class="emphasis"><em>N</em></span>th element of an instance of
|
||||
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
|
||||
may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance
|
||||
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
|
||||
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
|
||||
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
|
||||
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
|
||||
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
|
||||
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
|
||||
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>,
|
||||
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
|
||||
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
|
||||
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
|
||||
which represents the right operand of the assignment expression.
|
||||
</p>
|
||||
<p>
|
||||
The actual return type of fusion's intrinsic sequence access (meta-)functions
|
||||
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
is a proxy type. This type is implicitly convertible to the attribute type
|
||||
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
|
||||
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
|
||||
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
|
||||
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
|
||||
and reference removed.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
should be the fully namespace qualified name of the class type to be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_adt.header"></a><h5>
|
||||
<a name="id938625"></a>
|
||||
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_adt.example"></a><h5>
|
||||
<a name="id938741"></a>
|
||||
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">private</span><span class="special">:</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span><span class="special">(</span>
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span> <span class="identifier">e</span><span class="special">;</span>
|
||||
<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
|
||||
<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
|
||||
<span class="comment">//Prints 'Edward Norton is 41 years old'
|
||||
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_adt.see_also"></a><h5>
|
||||
<a name="id941266"></a>
|
||||
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
133
doc/html/fusion/adapted/adapt_assoc_struct_named.html
Normal file
133
doc/html/fusion/adapted/adapt_assoc_struct_named.html
Normal file
@ -0,0 +1,133 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT">
|
||||
<link rel="next" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_assoc_struct_named"></a><a class="link" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.adapt_assoc_struct_named.description"></a><h5>
|
||||
<a name="id933607"></a>
|
||||
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED and BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS
|
||||
are macros that can be used to generate all the necessary boilerplate to
|
||||
make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The given struct is adapted using the given name.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_struct_named.synopsis"></a><h5>
|
||||
<a name="id933635"></a>
|
||||
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</span><span class="special">(</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span> <span class="identifier">adapted_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
|
||||
<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS</span><span class="special">(</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
|
||||
<span class="identifier">adapted_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_struct_named.semantics"></a><h5>
|
||||
<a name="id933856"></a>
|
||||
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.semantics">Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macros generate the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> while using <code class="computeroutput"><span class="identifier">adapted_name</span></code>
|
||||
as the name of the adapted struct. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
|
||||
declares the namespace for <code class="computeroutput"><span class="identifier">adapted_name</span></code>.
|
||||
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">adapted_name</span></code>
|
||||
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
|
||||
<span class="identifier">adapted_name</span></code>. If an empty namespace
|
||||
sequence is given (that is a macro that expands to nothing), the adapted
|
||||
view is placed in the global namespace. If no namespace sequence is given
|
||||
(i.e. <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_ASSOC_NAMED</span></code>),
|
||||
the adapted view is placed in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">adapted</span></code>.
|
||||
The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> <span class="identifier">member_nameN</span><span class="special">,</span> <span class="identifier">key_typeN</span><span class="special">)</span></code> triples declares the type, name and key
|
||||
type of each of the struct members that are part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macros should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
should be the fully namespace qualified name of the struct to be converted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_struct_named.header"></a><h5>
|
||||
<a name="id934030"></a>
|
||||
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_assoc_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_struct_named.example"></a><h5>
|
||||
<a name="id934145"></a>
|
||||
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// boost::fusion::adapted::adapted_employee is now a Fusion sequence
|
||||
</span><span class="comment">// referring to demo::employee
|
||||
</span><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</span><span class="special">(</span>
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> <span class="identifier">adapted_employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
183
doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
Normal file
183
doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
Normal file
@ -0,0 +1,183 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT">
|
||||
<link rel="next" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_adt"></a><a class="link" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT is a macro than can be used to generate
|
||||
all the necessary boilerplate to adapt an arbitrary template class type as
|
||||
a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_adt.synopsis"></a><h5>
|
||||
<a name="id941316"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">type_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_adt.expression_semantics"></a><h5>
|
||||
<a name="id941493"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
|
||||
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
|
||||
actual specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
that is adapted as a fusion sequence. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
|
||||
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
|
||||
set_expr<span class="emphasis"><em>N</em></span>, key_type<span class="emphasis"><em>N</em></span>)</code>
|
||||
5-tuples declares the types, const types, get-expressions, set-expressions
|
||||
and key types of the elements that are part of the adapted fusion sequence.
|
||||
<code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> is the expression that
|
||||
is invoked to get the <span class="emphasis"><em>N</em></span>th element of an instance of
|
||||
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
|
||||
may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance
|
||||
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
|
||||
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
|
||||
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
|
||||
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
|
||||
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
|
||||
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
|
||||
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>,
|
||||
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
|
||||
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
|
||||
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
|
||||
which represents the right operand of the assignment expression.
|
||||
</p>
|
||||
<p>
|
||||
The actual return type of fusion's intrinsic sequence access (meta-)functions
|
||||
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
is a proxy type. This type is implicitly convertible to the attribute type
|
||||
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
|
||||
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
|
||||
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
|
||||
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
|
||||
and reference removed.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
should be the fully namespace qualified name of the template class type to
|
||||
be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_adt.header"></a><h5>
|
||||
<a name="id941882"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_adt.example"></a><h5>
|
||||
<a name="id941997"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">private</span><span class="special">:</span>
|
||||
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">e</span><span class="special">;</span>
|
||||
<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
|
||||
<span class="identifier">at_key</span><span class="special"><</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">>(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
|
||||
<span class="comment">//Prints 'Edward Norton is 41 years old'
|
||||
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_adt.see_also"></a><h5>
|
||||
<a name="id942860"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
125
doc/html/fusion/adapted/adapt_assoc_tpl_struct.html
Normal file
125
doc/html/fusion/adapted/adapt_assoc_tpl_struct.html
Normal file
@ -0,0 +1,125 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT">
|
||||
<link rel="next" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_struct"></a><a class="link" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_struct.description"></a><h5>
|
||||
<a name="id929588"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT is a macro that can be used to generate
|
||||
all the necessary boilerplate to make an arbitrary template struct a model
|
||||
of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_struct.synopsis"></a><h5>
|
||||
<a name="id929615"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">struct_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_struct.semantics"></a><h5>
|
||||
<a name="id929757"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.semantics">Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
|
||||
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
|
||||
actual specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
that is adapted as a fusion sequence. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">,</span>
|
||||
<span class="identifier">key_typeN</span><span class="special">)</span></code>
|
||||
triples declares the type, name and key type of each of the struct members
|
||||
that are part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
should be the fully namespace qualified name of the struct to be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_struct.header"></a><h5>
|
||||
<a name="id929893"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_assoc_tpl_struct.example"></a><h5>
|
||||
<a name="id930008"></a>
|
||||
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// Any instantiated demo::employee is now a Fusion sequence.
|
||||
</span><span class="comment">// It is also an associative sequence with
|
||||
</span><span class="comment">// keys keys::name and keys::age present.
|
||||
</span><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
106
doc/html/fusion/adapted/adapt_struct.html
Normal file
106
doc/html/fusion/adapted/adapt_struct.html
Normal file
@ -0,0 +1,106 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="boost__tuple.html" title="boost::tuple">
|
||||
<link rel="next" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_struct"></a><a class="link" href="adapt_struct.html" title="BOOST_FUSION_ADAPT_STRUCT">BOOST_FUSION_ADAPT_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.adapt_struct.description"></a><h5>
|
||||
<a name="id927254"></a>
|
||||
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the
|
||||
necessary boilerplate to make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_struct.synopsis"></a><h5>
|
||||
<a name="id927275"></a>
|
||||
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_struct.semantics"></a><h5>
|
||||
<a name="id927359"></a>
|
||||
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.semantics">Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">)</span></code>
|
||||
pairs declares the type and names of each of the struct members that are
|
||||
part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
should be the fully namespace qualified name of the struct to be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_struct.header"></a><h5>
|
||||
<a name="id927423"></a>
|
||||
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_struct.example"></a><h5>
|
||||
<a name="id927538"></a>
|
||||
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// demo::employee is now a Fusion sequence
|
||||
</span><span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
125
doc/html/fusion/adapted/adapt_struct_named.html
Normal file
125
doc/html/fusion/adapted/adapt_struct_named.html
Normal file
@ -0,0 +1,125 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_STRUCT_NAMED</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT">
|
||||
<link rel="next" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_struct_named"></a><a class="link" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED">BOOST_FUSION_ADAPT_STRUCT_NAMED</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.adapt_struct_named.description"></a><h5>
|
||||
<a name="id928337"></a>
|
||||
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_STRUCT_NAMED and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS are
|
||||
macros that can be used to generate all the necessary boilerplate to make
|
||||
an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The given struct is adapted using the given name.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_struct_named.synopsis"></a><h5>
|
||||
<a name="id928359"></a>
|
||||
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span><span class="special">(</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span> <span class="identifier">adapted_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
|
||||
<span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED_NS</span><span class="special">(</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
|
||||
<span class="identifier">adapted_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_struct_named.semantics"></a><h5>
|
||||
<a name="id928547"></a>
|
||||
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.semantics">Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macros generate the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> while using <code class="computeroutput"><span class="identifier">adapted_name</span></code>
|
||||
as the name of the adapted struct. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
|
||||
declares the namespace for <code class="computeroutput"><span class="identifier">adapted_name</span></code>.
|
||||
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">adapted_name</span></code>
|
||||
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
|
||||
<span class="identifier">adapted_name</span></code>. If an empty namespace
|
||||
sequence is given (that is a macro that expands to nothing), the adapted
|
||||
view is placed in the global namespace. If no namespace sequence is given
|
||||
(i.e. <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span></code>),
|
||||
the adapted view is placed in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">adapted</span></code>.
|
||||
The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span> <span class="identifier">member_nameN</span><span class="special">)</span></code> pairs declares the type and names of each
|
||||
of the struct members that are part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macros should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
should be the fully namespace qualified name of the struct to be converted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_struct_named.header"></a><h5>
|
||||
<a name="id928707"></a>
|
||||
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_struct_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_struct_named.example"></a><h5>
|
||||
<a name="id928823"></a>
|
||||
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// boost::fusion::adapted::adapted_employee is now a Fusion sequence
|
||||
</span><span class="comment">// referring to demo::employee
|
||||
</span><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span><span class="special">(</span>
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">,</span> <span class="identifier">adapted_employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
174
doc/html/fusion/adapted/adapt_tpl_adt.html
Normal file
174
doc/html/fusion/adapted/adapt_tpl_adt.html
Normal file
@ -0,0 +1,174 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_TPL_ADT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT">
|
||||
<link rel="next" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_tpl_adt"></a><a class="link" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT">BOOST_FUSION_ADAPT_TPL_ADT</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_TPL_ADT is a macro than can be used to generate all the
|
||||
necessary boilerplate to adapt an arbitrary template class type as a model
|
||||
of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_tpl_adt.synopsis"></a><h5>
|
||||
<a name="id936721"></a>
|
||||
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">type_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_tpl_adt.expression_semantics"></a><h5>
|
||||
<a name="id936881"></a>
|
||||
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
|
||||
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
|
||||
actual specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
that is adapted as a fusion sequence. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
|
||||
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
|
||||
set_expr<span class="emphasis"><em>N</em></span>)</code> quadruples declares the types,
|
||||
const types, get-expressions and set-expressions of the elements that are
|
||||
part of the adapted fusion sequence. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code>
|
||||
is the expression that is invoked to get the <span class="emphasis"><em>N</em></span>th element
|
||||
of an instance of <code class="computeroutput"><span class="identifier">type_name</span></code>.
|
||||
This expression may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&</span></code> which represents the underlying instance
|
||||
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
|
||||
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
|
||||
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
|
||||
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
|
||||
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
|
||||
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
|
||||
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&</span></code>,
|
||||
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
|
||||
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
|
||||
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
|
||||
which represents the right operand of the assignment expression.
|
||||
</p>
|
||||
<p>
|
||||
The actual return type of fusion's intrinsic sequence access (meta-)functions
|
||||
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
is a proxy type. This type is implicitly convertible to the attribute type
|
||||
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
|
||||
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
|
||||
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
|
||||
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
|
||||
and reference removed.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
|
||||
should be the fully namespace qualified name of the template class type to
|
||||
be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_tpl_adt.header"></a><h5>
|
||||
<a name="id937227"></a>
|
||||
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">adt</span><span class="special">/</span><span class="identifier">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_tpl_adt.example"></a><h5>
|
||||
<a name="id937343"></a>
|
||||
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"> <span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">private</span><span class="special">:</span>
|
||||
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">n</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">name</span><span class="special">=</span><span class="identifier">n</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">a</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">BOOST_FUSION_ADAPT_TPL_ADT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">))</span>
|
||||
<span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">)))</span>
|
||||
|
||||
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">e</span><span class="special">;</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">front</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">back</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
|
||||
<span class="comment">//Prints 'Edward Norton is 41 years old'
|
||||
</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" is "</span> <span class="special"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special"><<</span> <span class="string">" years old"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_tpl_adt.see_also"></a><h5>
|
||||
<a name="id938111"></a>
|
||||
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
114
doc/html/fusion/adapted/adapt_tpl_struct.html
Normal file
114
doc/html/fusion/adapted/adapt_tpl_struct.html
Normal file
@ -0,0 +1,114 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_ADAPT_TPL_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_struct.html" title="BOOST_FUSION_ADAPT_STRUCT">
|
||||
<link rel="next" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.adapt_tpl_struct"></a><a class="link" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT">BOOST_FUSION_ADAPT_TPL_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.adapt_tpl_struct.description"></a><h5>
|
||||
<a name="id927713"></a>
|
||||
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_ADAPT_TPL_STRUCT is a macro that can be used to generate all
|
||||
the necessary boilerplate to make an arbitrary template struct a model of
|
||||
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random Access
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_tpl_struct.synopsis"></a><h5>
|
||||
<a name="id927735"></a>
|
||||
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">struct_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_tpl_struct.semantics"></a><h5>
|
||||
<a name="id927861"></a>
|
||||
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.semantics">Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
|
||||
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
|
||||
actual specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
that is adapted as a fusion sequence. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">)</span></code>
|
||||
pairs declares the type and names of each of the struct members that are
|
||||
part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
should be the fully namespace qualified name of the struct to be adapted.
|
||||
</p>
|
||||
<a name="fusion.adapted.adapt_tpl_struct.header"></a><h5>
|
||||
<a name="id927984"></a>
|
||||
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.adapt_tpl_struct.example"></a><h5>
|
||||
<a name="id928099"></a>
|
||||
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">employee</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// Any instantiated demo::employee is now a Fusion sequence
|
||||
</span><span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">)</span> <span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
76
doc/html/fusion/adapted/array.html
Normal file
76
doc/html/fusion/adapted/array.html
Normal file
@ -0,0 +1,76 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Array</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="../adapted.html" title="Adapted">
|
||||
<link rel="next" href="std__pair.html" title="std::pair">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../adapted.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="std__pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.array"></a><a class="link" href="array.html" title="Array">Array</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
This module provides adapters for arrays. Including the module header makes
|
||||
any array a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.array.header"></a><h5>
|
||||
<a name="id923373"></a>
|
||||
<a class="link" href="array.html#fusion.adapted.array.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.array.model_of"></a><h5>
|
||||
<a name="id923481"></a>
|
||||
<a class="link" href="array.html#fusion.adapted.array.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>
|
||||
</li></ul></div>
|
||||
<a name="fusion.adapted.array.example"></a><h5>
|
||||
<a name="id923510"></a>
|
||||
<a class="link" href="array.html#fusion.adapted.array.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">arr</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">};</span>
|
||||
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../adapted.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="std__pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
84
doc/html/fusion/adapted/boost__array.html
Normal file
84
doc/html/fusion/adapted/boost__array.html
Normal file
@ -0,0 +1,84 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>boost::array</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="mpl_sequence.html" title="mpl sequence">
|
||||
<link rel="next" href="boost__tuple.html" title="boost::tuple">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.boost__array"></a><a class="link" href="boost__array.html" title="boost::array">boost::array</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
This module provides adapters for <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>.
|
||||
Including the module header makes <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
|
||||
a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.boost__array.header"></a><h5>
|
||||
<a name="id926214"></a>
|
||||
<a class="link" href="boost__array.html#fusion.adapted.boost__array.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">boost_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.boost__array.model_of"></a><h5>
|
||||
<a name="id926322"></a>
|
||||
<a class="link" href="boost__array.html#fusion.adapted.boost__array.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>
|
||||
</li></ul></div>
|
||||
<a name="fusion.adapted.boost__array.example"></a><h5>
|
||||
<a name="id926351"></a>
|
||||
<a class="link" href="boost__array.html#fusion.adapted.boost__array.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="number">3</span><span class="special">></span> <span class="identifier">arr</span> <span class="special">=</span> <span class="special">{{</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">}};</span>
|
||||
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><a class="link" href="../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">2</span><span class="special">>(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.boost__array.see_also"></a><h5>
|
||||
<a name="id926787"></a>
|
||||
<a class="link" href="boost__array.html#fusion.adapted.boost__array.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://www.boost.org/doc/html/array.html" target="_top">Boost.Array Library</a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
80
doc/html/fusion/adapted/boost__tuple.html
Normal file
80
doc/html/fusion/adapted/boost__tuple.html
Normal file
@ -0,0 +1,80 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>boost::tuple</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="boost__array.html" title="boost::array">
|
||||
<link rel="next" href="adapt_struct.html" title="BOOST_FUSION_ADAPT_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.boost__tuple"></a><a class="link" href="boost__tuple.html" title="boost::tuple">boost::tuple</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
This module provides adapters for <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>.
|
||||
Including the module header makes <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>
|
||||
a fully conforming <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.boost__tuple.header"></a><h5>
|
||||
<a name="id926856"></a>
|
||||
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.boost__tuple.model_of"></a><h5>
|
||||
<a name="id926964"></a>
|
||||
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
|
||||
</li></ul></div>
|
||||
<a name="fusion.adapted.boost__tuple.example"></a><h5>
|
||||
<a name="id926993"></a>
|
||||
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">example_tuple</span><span class="special">(</span><span class="number">101</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">);</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">)</span> <span class="special"><<</span> <span class="char">'\n'</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">))</span> <span class="special"><<</span> <span class="char">'\n'</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.boost__tuple.see_also"></a><h5>
|
||||
<a name="id927220"></a>
|
||||
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple
|
||||
Library</a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
222
doc/html/fusion/adapted/define_assoc_struct.html
Normal file
222
doc/html/fusion/adapted/define_assoc_struct.html
Normal file
@ -0,0 +1,222 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_DEFINE_ASSOC_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT">
|
||||
<link rel="next" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.define_assoc_struct"></a><a class="link" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT">BOOST_FUSION_DEFINE_ASSOC_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.define_assoc_struct.description"></a><h5>
|
||||
<a name="id944640"></a>
|
||||
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_DEFINE_ASSOC_STRUCT is a macro that can be used to generate
|
||||
all the necessary boilerplate to define and adapt an arbitrary struct as
|
||||
a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.define_assoc_struct.synopsis"></a><h5>
|
||||
<a name="id944666"></a>
|
||||
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
|
||||
<dd><p>
|
||||
An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
|
||||
<dd><p>
|
||||
Heterogeneous values
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
|
||||
<dd><p>
|
||||
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.adapted.define_assoc_struct.expression_semantics"></a><h5>
|
||||
<a name="id944870"></a>
|
||||
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
|
||||
declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>.
|
||||
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
|
||||
<span class="identifier">struct_name</span></code>. If an empty namespace
|
||||
sequence is given (that is a macro that expands to nothing), the struct is
|
||||
placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">,</span>
|
||||
<span class="identifier">key_typeN</span><span class="special">)</span></code>
|
||||
triples declares the type, name and key type of each of the struct members
|
||||
that are part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope. Semantics of an expression is defined
|
||||
only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Semantics
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
with default constructed elements.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span>
|
||||
<span class="identifier">e1</span><span class="special">,...</span>
|
||||
<span class="identifier">en</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
|
||||
<span class="identifier">fs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.adapted.define_assoc_struct.header"></a><h5>
|
||||
<a name="id946936"></a>
|
||||
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.define_assoc_struct.example"></a><h5>
|
||||
<a name="id947051"></a>
|
||||
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// demo::employee is a Fusion sequence
|
||||
</span><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
227
doc/html/fusion/adapted/define_assoc_tpl_struct.html
Normal file
227
doc/html/fusion/adapted/define_assoc_tpl_struct.html
Normal file
@ -0,0 +1,227 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT">
|
||||
<link rel="next" href="../algorithm.html" title="Algorithm">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.define_assoc_tpl_struct"></a><a class="link" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.define_assoc_tpl_struct.description"></a><h5>
|
||||
<a name="id947236"></a>
|
||||
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT is a macro that can be used to generate
|
||||
all the necessary boilerplate to define and adapt an arbitrary template struct
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.define_assoc_tpl_struct.synopsis"></a><h5>
|
||||
<a name="id947262"></a>
|
||||
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">Str</span></code></span></dt>
|
||||
<dd><p>
|
||||
An instantiated <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
|
||||
<dd><p>
|
||||
An instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
|
||||
<dd><p>
|
||||
Heterogeneous values
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
|
||||
<dd><p>
|
||||
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.adapted.define_assoc_tpl_struct.expression_semantics"></a><h5>
|
||||
<a name="id947514"></a>
|
||||
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
|
||||
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. It yields to a fully qualified
|
||||
name for <code class="computeroutput"><span class="identifier">struct_name</span></code> of
|
||||
<code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
|
||||
<span class="identifier">struct_name</span></code>. If an empty namespace
|
||||
sequence is given (that is a macro that expands to nothing), the struct is
|
||||
placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">,</span>
|
||||
<span class="identifier">key_typeN</span><span class="special">)</span></code>
|
||||
triples declares the type, name and key type of each of the struct members
|
||||
that are part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope. Semantics of an expression is defined
|
||||
only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Semantics
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Str</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
with default constructed elements.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span>
|
||||
<span class="identifier">e1</span><span class="special">,...</span>
|
||||
<span class="identifier">en</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Copy constructs an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
|
||||
<span class="identifier">fs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.adapted.define_assoc_tpl_struct.header"></a><h5>
|
||||
<a name="id947962"></a>
|
||||
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.define_assoc_tpl_struct.example"></a><h5>
|
||||
<a name="id948077"></a>
|
||||
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">keys</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// Any instantiated demo::employee is a Fusion sequence
|
||||
</span><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
208
doc/html/fusion/adapted/define_struct.html
Normal file
208
doc/html/fusion/adapted/define_struct.html
Normal file
@ -0,0 +1,208 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_DEFINE_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT">
|
||||
<link rel="next" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.define_struct"></a><a class="link" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT">BOOST_FUSION_DEFINE_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the
|
||||
necessary boilerplate to define and adapt an arbitrary struct as a model
|
||||
of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.define_struct.synopsis"></a><h5>
|
||||
<a name="id942906"></a>
|
||||
<a class="link" href="define_struct.html#fusion.adapted.define_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
|
||||
<dd><p>
|
||||
An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
|
||||
<dd><p>
|
||||
Heterogeneous values
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
|
||||
<dd><p>
|
||||
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.adapted.define_struct.expression_semantics"></a><h5>
|
||||
<a name="id943093"></a>
|
||||
<a class="link" href="define_struct.html#fusion.adapted.define_struct.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
|
||||
declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>.
|
||||
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
|
||||
<span class="identifier">struct_name</span></code>. If an empty namespace
|
||||
sequence is given (that is a macro that expands to nothing), the struct is
|
||||
placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">)</span></code>
|
||||
pairs declares the type and names of each of the struct members that are
|
||||
part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope. Semantics of an expression is defined
|
||||
only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Semantics
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
with default constructed elements.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span>
|
||||
<span class="identifier">e1</span><span class="special">,...</span>
|
||||
<span class="identifier">en</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
|
||||
<span class="identifier">fs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.adapted.define_struct.header"></a><h5>
|
||||
<a name="id943499"></a>
|
||||
<a class="link" href="define_struct.html#fusion.adapted.define_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.define_struct.example"></a><h5>
|
||||
<a name="id943614"></a>
|
||||
<a class="link" href="define_struct.html#fusion.adapted.define_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="comment">// demo::employee is a Fusion sequence
|
||||
</span><span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
217
doc/html/fusion/adapted/define_tpl_struct.html
Normal file
217
doc/html/fusion/adapted/define_tpl_struct.html
Normal file
@ -0,0 +1,217 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>BOOST_FUSION_DEFINE_TPL_STRUCT</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT">
|
||||
<link rel="next" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="define_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.define_tpl_struct"></a><a class="link" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT">BOOST_FUSION_DEFINE_TPL_STRUCT</a>
|
||||
</h3></div></div></div>
|
||||
<a name="fusion.adapted.define_tpl_struct.description"></a><h5>
|
||||
<a name="id943722"></a>
|
||||
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
BOOST_FUSION_DEFINE_TPL_STRUCT is a macro that can be used to generate all
|
||||
the necessary boilerplate to define and adapt an arbitrary template struct
|
||||
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.define_tpl_struct.synopsis"></a><h5>
|
||||
<a name="id943743"></a>
|
||||
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
|
||||
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
|
||||
<span class="identifier">struct_name</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
|
||||
<span class="special">...</span>
|
||||
<span class="special">)</span>
|
||||
</pre>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">Str</span></code></span></dt>
|
||||
<dd><p>
|
||||
An instantiated <code class="computeroutput"><span class="identifier">struct_name</span></code>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
|
||||
<dd><p>
|
||||
An instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
|
||||
<dd><p>
|
||||
Heterogeneous values
|
||||
</p></dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
|
||||
<dd><p>
|
||||
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.adapted.define_tpl_struct.expression_semantics"></a><h5>
|
||||
<a name="id943976"></a>
|
||||
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<p>
|
||||
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
|
||||
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. It yields to a fully qualified
|
||||
name for <code class="computeroutput"><span class="identifier">struct_name</span></code> of
|
||||
<code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
|
||||
<span class="identifier">struct_name</span></code>. If an empty namespace
|
||||
sequence is given (that is a macro that expands to nothing), the struct is
|
||||
placed in the global namespace. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
|
||||
<span class="identifier">member_nameN</span><span class="special">)</span></code>
|
||||
pairs declares the type and names of each of the struct members that are
|
||||
part of the sequence.
|
||||
</p>
|
||||
<p>
|
||||
The macro should be used at global scope. Semantics of an expression is defined
|
||||
only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Semantics
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Str</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
with default constructed elements.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span>
|
||||
<span class="identifier">e1</span><span class="special">,...</span>
|
||||
<span class="identifier">en</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Copy constructs an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
|
||||
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
|
||||
<span class="identifier">fs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.adapted.define_tpl_struct.header"></a><h5>
|
||||
<a name="id944403"></a>
|
||||
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.define_tpl_struct.example"></a><h5>
|
||||
<a name="id944519"></a>
|
||||
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="comment">// Any instantiated demo::employee is a Fusion sequence
|
||||
</span><span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span><span class="special">(</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span> <span class="special">(</span><span class="identifier">demo</span><span class="special">),</span> <span class="identifier">employee</span><span class="special">,</span>
|
||||
<span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
|
||||
<span class="special">(</span><span class="identifier">Age</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="define_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
97
doc/html/fusion/adapted/mpl_sequence.html
Normal file
97
doc/html/fusion/adapted/mpl_sequence.html
Normal file
@ -0,0 +1,97 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>mpl sequence</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="std__pair.html" title="std::pair">
|
||||
<link rel="next" href="boost__array.html" title="boost::array">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.mpl_sequence"></a><a class="link" href="mpl_sequence.html" title="mpl sequence">mpl sequence</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
This module provides adapters for <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences. Including the module header makes all <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences fully conforming fusion sequences.
|
||||
</p>
|
||||
<a name="fusion.adapted.mpl_sequence.header"></a><h5>
|
||||
<a name="id924453"></a>
|
||||
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.mpl_sequence.model_of"></a><h5>
|
||||
<a name="id924561"></a>
|
||||
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
|
||||
(If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequence is a forward sequence.)
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequence is a bidirectional sequence.)
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequence is a random access sequence.)
|
||||
</li>
|
||||
</ul></div>
|
||||
<a name="fusion.adapted.mpl_sequence.example"></a><h5>
|
||||
<a name="id925725"></a>
|
||||
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="number">456</span><span class="special">></span> <span class="identifier">vec_c</span><span class="special">;</span>
|
||||
<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">vec_c</span><span class="special">);</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">v</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">456</span><span class="special">,</span> <span class="number">789</span><span class="special">>();</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.mpl_sequence.see_also"></a><h5>
|
||||
<a name="id926145"></a>
|
||||
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
83
doc/html/fusion/adapted/std__pair.html
Normal file
83
doc/html/fusion/adapted/std__pair.html
Normal file
@ -0,0 +1,83 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>std::pair</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapted.html" title="Adapted">
|
||||
<link rel="prev" href="array.html" title="Array">
|
||||
<link rel="next" href="mpl_sequence.html" title="mpl sequence">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.adapted.std__pair"></a><a class="link" href="std__pair.html" title="std::pair">std::pair</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
This module provides adapters for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>.
|
||||
Including the module header makes <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>
|
||||
a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</p>
|
||||
<a name="fusion.adapted.std__pair.header"></a><h5>
|
||||
<a name="id923979"></a>
|
||||
<a class="link" href="std__pair.html#fusion.adapted.std__pair.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.std__pair.model_of"></a><h5>
|
||||
<a name="id924087"></a>
|
||||
<a class="link" href="std__pair.html#fusion.adapted.std__pair.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>
|
||||
</li></ul></div>
|
||||
<a name="fusion.adapted.std__pair.example"></a><h5>
|
||||
<a name="id924116"></a>
|
||||
<a class="link" href="std__pair.html#fusion.adapted.std__pair.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">p</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"Hola!!!"</span><span class="special">);</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">p</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <a class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="identifier">p</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">p</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.adapted.std__pair.see_also"></a><h5>
|
||||
<a name="id924367"></a>
|
||||
<a class="link" href="std__pair.html#fusion.adapted.std__pair.see_also">See also</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://www.sgi.com/tech/stl/pair.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>,
|
||||
<a class="link" href="../tuple/pairs.html" title="Pairs"><code class="computeroutput"><span class="identifier">TR1</span>
|
||||
<span class="keyword">and</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
111
doc/html/fusion/algorithm.html
Normal file
111
doc/html/fusion/algorithm.html
Normal file
@ -0,0 +1,111 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Algorithm</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="prev" href="adapted/define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT">
|
||||
<link rel="next" href="algorithm/iteration.html" title="Iteration">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapted/define_assoc_tpl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="algorithm/iteration.html">Iteration</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithm/iteration/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithm/iteration/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="algorithm/query.html">Query</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithm/query/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithm/query/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="algorithm/transformation.html">Transformation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithm/transformation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithm/transformation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<a name="fusion.algorithm.lazy_evaluation"></a><h4>
|
||||
<a name="id948276"></a>
|
||||
<a class="link" href="algorithm.html#fusion.algorithm.lazy_evaluation">Lazy Evaluation</a>
|
||||
</h4>
|
||||
<p>
|
||||
Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion
|
||||
algorithms are lazy and non sequence-type preserving. What does that mean?
|
||||
It means that when you operate on a sequence through a Fusion algorithm that
|
||||
returns a sequence, the sequence returned may not be of the same class as the
|
||||
original. This is by design. Runtime efficiency is given a high priority. Like
|
||||
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, and unlike
|
||||
<a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>,
|
||||
fusion algorithms are functional in nature such that algorithms are non mutating
|
||||
(no side effects). However, due to the high cost of returning full sequences
|
||||
such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned from Fusion
|
||||
algorithms instead. For example, the <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> algorithm does not actually
|
||||
return a transformed version of the original sequence. <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> returns a <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>. This view holds a
|
||||
reference to the original sequence plus the transform function. Iteration over
|
||||
the <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>
|
||||
will apply the transform function over the sequence elements on demand. This
|
||||
<span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms
|
||||
as we want without incurring a high runtime penalty.
|
||||
</p>
|
||||
<a name="fusion.algorithm.sequence_extension"></a><h4>
|
||||
<a name="id948353"></a>
|
||||
<a class="link" href="algorithm.html#fusion.algorithm.sequence_extension">Sequence Extension</a>
|
||||
</h4>
|
||||
<p>
|
||||
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a class="link" href="algorithm.html" title="Algorithm">Algorithms</a>
|
||||
return <a class="link" href="view.html" title="View">Views</a> also allows operations such
|
||||
as <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> to be totally generic. In
|
||||
Fusion, <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> is actually a generic algorithm
|
||||
that works on all sequences. Given an input sequence <code class="computeroutput"><span class="identifier">s</span></code>
|
||||
and a value <code class="computeroutput"><span class="identifier">x</span></code>, Fusion's <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> algorithm simply returns
|
||||
a <a class="link" href="view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>:
|
||||
a view that holds a reference to the original sequence <code class="computeroutput"><span class="identifier">s</span></code>
|
||||
and the value <code class="computeroutput"><span class="identifier">x</span></code>. Functions
|
||||
that were once sequence specific and need to be implemented N times over N
|
||||
different sequences are now implemented only once. That is to say that Fusion
|
||||
sequences are cheaply extensible. To regain the original sequence, <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a>
|
||||
functions are provided. You may use one of the <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a>
|
||||
functions to convert back to the original sequence type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.header"></a><h4>
|
||||
<a name="id948461"></a>
|
||||
<a class="link" href="algorithm.html#fusion.algorithm.header">Header</a>
|
||||
</h4>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapted/define_assoc_tpl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
59
doc/html/fusion/algorithm/iteration.html
Normal file
59
doc/html/fusion/algorithm/iteration.html
Normal file
@ -0,0 +1,59 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Iteration</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithm.html" title="Algorithm">
|
||||
<link rel="prev" href="../algorithm.html" title="Algorithm">
|
||||
<link rel="next" href="iteration/functions.html" title="Functions">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithm.iteration"></a><a class="link" href="iteration.html" title="Iteration">Iteration</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="iteration/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="iteration/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
The iteration algorithms provide the fundamental algorithms for traversing
|
||||
a sequence repeatedly applying an operation to its elements.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.header"></a><h5>
|
||||
<a name="id948575"></a>
|
||||
<a class="link" href="iteration.html#fusion.algorithm.iteration.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
52
doc/html/fusion/algorithm/iteration/functions.html
Normal file
52
doc/html/fusion/algorithm/iteration/functions.html
Normal file
@ -0,0 +1,52 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../iteration.html" title="Iteration">
|
||||
<link rel="prev" href="../iteration.html" title="Iteration">
|
||||
<link rel="next" href="functions/fold.html" title="fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a>
|
||||
</h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="functions/fold.html">fold</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/reverse_fold.html">reverse_fold</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/iter_fold.html">iter_fold</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/reverse_iter_fold.html">reverse_iter_fold</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/accumulate.html">accumulate</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/for_each.html">for_each</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
209
doc/html/fusion/algorithm/iteration/functions/accumulate.html
Normal file
209
doc/html/fusion/algorithm/iteration/functions/accumulate.html
Normal file
@ -0,0 +1,209 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>accumulate</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="reverse_iter_fold.html" title="reverse_iter_fold">
|
||||
<link rel="next" href="for_each.html" title="for_each">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.functions.accumulate.description"></a><h6>
|
||||
<a name="id956476"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial
|
||||
state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
|
||||
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="literal">accumulate</code> returns the result of the repeated application
|
||||
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result
|
||||
of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation
|
||||
(<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is
|
||||
the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.accumulate.synopsis"></a><h6>
|
||||
<a name="id956555"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> accumulate<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> accumulate<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id956907"></a><p class="title"><b>Table 1.41. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">E</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.functions.accumulate.expression_semantics"></a><h6>
|
||||
<a name="id957164"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">accumulate<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
|
||||
f(f(initial_state,e1),e2) ...eN)</code> where <code class="literal">e1 ...eN</code>
|
||||
are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.accumulate.complexity"></a><h6>
|
||||
<a name="id957246"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.accumulate.header"></a><h6>
|
||||
<a name="id957306"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.iteration.functions.accumulate.example"></a><h6>
|
||||
<a name="id957417"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span>t<span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span>accumulate<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "12"<span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
209
doc/html/fusion/algorithm/iteration/functions/fold.html
Normal file
209
doc/html/fusion/algorithm/iteration/functions/fold.html
Normal file
@ -0,0 +1,209 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="../functions.html" title="Functions">
|
||||
<link rel="next" href="reverse_fold.html" title="reverse_fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions.fold"></a><a class="link" href="fold.html" title="fold">fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.functions.fold.description"></a><h6>
|
||||
<a name="id948702"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial
|
||||
state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
|
||||
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="literal">fold</code> returns the result of the repeated application
|
||||
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result
|
||||
of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation
|
||||
(<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is
|
||||
the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.fold.synopsis"></a><h6>
|
||||
<a name="id949392"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id949741"></a><p class="title"><b>Table 1.37. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">E</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.functions.fold.expression_semantics"></a><h6>
|
||||
<a name="id950000"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
|
||||
f(f(initial_state,e1),e2) ...eN)</code> where <code class="literal">e1 ...eN</code>
|
||||
are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.fold.complexity"></a><h6>
|
||||
<a name="id950083"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.fold.header"></a><h6>
|
||||
<a name="id950141"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.iteration.functions.fold.example"></a><h6>
|
||||
<a name="id950251"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span>t<span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span>fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "12"<span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
174
doc/html/fusion/algorithm/iteration/functions/for_each.html
Normal file
174
doc/html/fusion/algorithm/iteration/functions/for_each.html
Normal file
@ -0,0 +1,174 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>for_each</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="accumulate.html" title="accumulate">
|
||||
<link rel="next" href="../metafunctions.html" title="Metafunctions">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.functions.for_each.description"></a><h6>
|
||||
<a name="id957765"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Applies a unary function object to each element of a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.for_each.synopsis"></a><h6>
|
||||
<a name="id957784"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">for_each</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id957916"></a><p class="title"><b>Table 1.42. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression
|
||||
for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a class="link" href="../../../functional/concepts/reg_callable.html" title="Regular Callable Object">Regular
|
||||
Callable Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.functions.for_each.expression_semantics"></a><h6>
|
||||
<a name="id958619"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Calls <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.for_each.complexity"></a><h6>
|
||||
<a name="id958723"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.for_each.header"></a><h6>
|
||||
<a name="id958783"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.iteration.functions.for_each.example"></a><h6>
|
||||
<a name="id958898"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">increment</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="special">++</span><span class="identifier">t</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
209
doc/html/fusion/algorithm/iteration/functions/iter_fold.html
Normal file
209
doc/html/fusion/algorithm/iteration/functions/iter_fold.html
Normal file
@ -0,0 +1,209 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>iter_fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="reverse_fold.html" title="reverse_fold">
|
||||
<link rel="next" href="reverse_iter_fold.html" title="reverse_iter_fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions.iter_fold"></a><a class="link" href="iter_fold.html" title="iter_fold">iter_fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.functions.iter_fold.description"></a><h6>
|
||||
<a name="id953881"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial
|
||||
state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
|
||||
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="literal">iter_fold</code> returns the result of the repeated application
|
||||
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result
|
||||
of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation
|
||||
(<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is
|
||||
the first call) and iterators on each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.iter_fold.synopsis"></a><h6>
|
||||
<a name="id953957"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> iter_fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> iter_fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id954306"></a><p class="title"><b>Table 1.39. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and for each iterator <code class="computeroutput"><span class="identifier">it</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">It</span></code>
|
||||
on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.functions.iter_fold.expression_semantics"></a><h6>
|
||||
<a name="id954563"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">iter_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
|
||||
f(f(initial_state,it1),it2) ...itN)</code> where <code class="literal">it1 ...itN</code>
|
||||
are consecutive iterators on the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.iter_fold.complexity"></a><h6>
|
||||
<a name="id954647"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.iter_fold.header"></a><h6>
|
||||
<a name="id954707"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.iteration.functions.iter_fold.example"></a><h6>
|
||||
<a name="id954817"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>(t)<span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span>iter_fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "12"<span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
209
doc/html/fusion/algorithm/iteration/functions/reverse_fold.html
Normal file
209
doc/html/fusion/algorithm/iteration/functions/reverse_fold.html
Normal file
@ -0,0 +1,209 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>reverse_fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="fold.html" title="fold">
|
||||
<link rel="next" href="iter_fold.html" title="iter_fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_fold"></a><a class="link" href="reverse_fold.html" title="reverse_fold">reverse_fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_fold.description"></a><h6>
|
||||
<a name="id950599"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial
|
||||
state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
|
||||
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="literal">reverse_fold</code> returns the result of the repeated application
|
||||
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the result
|
||||
of the previous <code class="computeroutput"><span class="identifier">f</span></code> invocation
|
||||
(<code class="computeroutput"><span class="identifier">inital_state</span></code> if it is
|
||||
the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_fold.synopsis"></a><h6>
|
||||
<a name="id950678"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id951030"></a><p class="title"><b>Table 1.38. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">E</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.functions.reverse_fold.expression_semantics"></a><h6>
|
||||
<a name="id951287"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">reverse_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
|
||||
f(f(initial_state,eN),eN-1) ...e1)</code> where <code class="literal">e1 ...eN</code>
|
||||
are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_fold.complexity"></a><h6>
|
||||
<a name="id951369"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_fold.header"></a><h6>
|
||||
<a name="id951432"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_fold.example"></a><h6>
|
||||
<a name="id951547"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span>t<span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span>reverse_fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "21"<span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,209 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>reverse_iter_fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="iter_fold.html" title="iter_fold">
|
||||
<link rel="next" href="accumulate.html" title="accumulate">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold"></a><a class="link" href="reverse_iter_fold.html" title="reverse_iter_fold">reverse_iter_fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.description"></a><h6>
|
||||
<a name="id955171"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>, initial
|
||||
state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
|
||||
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="literal">reverse_iter_fold</code> returns the result of the repeated
|
||||
application of binary <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
to the result of the previous <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code>
|
||||
if it is the first call) and iterators on each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.synopsis"></a><h6>
|
||||
<a name="id955247"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_iter_fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> reverse_iter_fold<span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id955603"></a><p class="title"><b>Table 1.40. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> for current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and for each iterator <code class="computeroutput"><span class="identifier">it</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">It</span></code>
|
||||
on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.functions.reverse_iter_fold.expression_semantics"></a><h6>
|
||||
<a name="id955860"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">reverse_iter_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
|
||||
f(f(initial_state,itN),itN-1) ...it1)</code> where <code class="literal">it1 ...itN</code>
|
||||
are consecutive iterators on the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.complexity"></a><h6>
|
||||
<a name="id955942"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.header"></a><h6>
|
||||
<a name="id956002"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.example"></a><h6>
|
||||
<a name="id956117"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>(t)<span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span>reverse_iter_fold<span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> "21"<span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
52
doc/html/fusion/algorithm/iteration/metafunctions.html
Normal file
52
doc/html/fusion/algorithm/iteration/metafunctions.html
Normal file
@ -0,0 +1,52 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../iteration.html" title="Iteration">
|
||||
<link rel="prev" href="functions/for_each.html" title="for_each">
|
||||
<link rel="next" href="metafunctions/fold.html" title="fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a>
|
||||
</h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="metafunctions/fold.html">fold</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/reverse_fold.html">reverse_fold</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/iter_fold.html">iter_fold</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/reverse_iter_fold.html">reverse_iter_fold</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/accumulate.html">accumulate</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/for_each.html">for_each</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,180 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>accumulate</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="reverse_iter_fold.html" title="reverse_iter_fold">
|
||||
<link rel="next" href="for_each.html" title="for_each">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.accumulate.description"></a><h6>
|
||||
<a name="id962934"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.accumulate.synopsis"></a><h6>
|
||||
<a name="id962965"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> accumulate
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id963060"></a><p class="title"><b>Table 1.47. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and an element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">E</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
|
||||
<a name="id963322"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">accumulate<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<a class="link" href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a> to a sequence of
|
||||
type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an
|
||||
initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
|
||||
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.accumulate.complexity"></a><h6>
|
||||
<a name="id963423"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.accumulate.header"></a><h6>
|
||||
<a name="id963486"></a>
|
||||
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
180
doc/html/fusion/algorithm/iteration/metafunctions/fold.html
Normal file
180
doc/html/fusion/algorithm/iteration/metafunctions/fold.html
Normal file
@ -0,0 +1,180 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="next" href="reverse_fold.html" title="reverse_fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions.fold"></a><a class="link" href="fold.html" title="fold">fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.fold.description"></a><h6>
|
||||
<a name="id959162"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.fold.synopsis"></a><h6>
|
||||
<a name="id959191"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> fold
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id959284"></a><p class="title"><b>Table 1.43. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and an element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">E</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.fold.expression_semantics"></a><h6>
|
||||
<a name="id959546"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<a class="link" href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a> to a sequence of type
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>, with an initial
|
||||
state of type <code class="computeroutput"><span class="identifier">State</span></code> and
|
||||
binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.fold.complexity"></a><h6>
|
||||
<a name="id959647"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.fold.header"></a><h6>
|
||||
<a name="id959707"></a>
|
||||
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
160
doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
Normal file
160
doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
Normal file
@ -0,0 +1,160 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>for_each</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="accumulate.html" title="accumulate">
|
||||
<link rel="next" href="../../query.html" title="Query">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a>
|
||||
</h5></div></div></div>
|
||||
<p>
|
||||
A metafunction returning the result type of applying <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> to a sequence. The
|
||||
return type of <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> is always <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.for_each.description"></a><h6>
|
||||
<a name="id963642"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.for_each.synopsis"></a><h6>
|
||||
<a name="id963660"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">for_each</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id963748"></a><p class="title"><b>Table 1.48. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.for_each.expression_semantics"></a><h6>
|
||||
<a name="id963867"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> for a sequence of type
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary
|
||||
function object <code class="computeroutput"><span class="identifier">F</span></code>. The
|
||||
return type is always <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.for_each.complexity"></a><h6>
|
||||
<a name="id964050"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.for_each.header"></a><h6>
|
||||
<a name="id964072"></a>
|
||||
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
180
doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
Normal file
180
doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
Normal file
@ -0,0 +1,180 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>iter_fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="reverse_fold.html" title="reverse_fold">
|
||||
<link rel="next" href="reverse_iter_fold.html" title="reverse_iter_fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions.iter_fold"></a><a class="link" href="iter_fold.html" title="iter_fold">iter_fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.description"></a><h6>
|
||||
<a name="id960499"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.synopsis"></a><h6>
|
||||
<a name="id960530"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> iter_fold
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id960625"></a><p class="title"><b>Table 1.45. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and an iterator <code class="computeroutput"><span class="identifier">it</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">It</span></code>
|
||||
on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.iter_fold.expression_semantics"></a><h6>
|
||||
<a name="id961981"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">iter_fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<a class="link" href="../functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a> to a sequence of type
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>, with an initial
|
||||
state of type <code class="computeroutput"><span class="identifier">State</span></code> and
|
||||
binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.complexity"></a><h6>
|
||||
<a name="id962082"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.header"></a><h6>
|
||||
<a name="id962144"></a>
|
||||
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,180 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>reverse_fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="fold.html" title="fold">
|
||||
<link rel="next" href="iter_fold.html" title="iter_fold">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold"></a><a class="link" href="reverse_fold.html" title="reverse_fold">reverse_fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.description"></a><h6>
|
||||
<a name="id959828"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.synopsis"></a><h6>
|
||||
<a name="id959857"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> reverse_fold
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id959952"></a><p class="title"><b>Table 1.44. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and an element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">E</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.reverse_fold.expression_semantics"></a><h6>
|
||||
<a name="id960215"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">reverse_fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<a class="link" href="../functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a> to a sequence of
|
||||
type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an
|
||||
initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
|
||||
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.complexity"></a><h6>
|
||||
<a name="id960313"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.header"></a><h6>
|
||||
<a name="id960373"></a>
|
||||
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,180 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>reverse_iter_fold</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="iter_fold.html" title="iter_fold">
|
||||
<link rel="next" href="accumulate.html" title="accumulate">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold"></a><a class="link" href="reverse_iter_fold.html" title="reverse_iter_fold">reverse_iter_fold</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.description"></a><h6>
|
||||
<a name="id962272"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.synopsis"></a><h6>
|
||||
<a name="id962299"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> reverse_iter_fold
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id962391"></a><p class="title"><b>Table 1.46. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)>::</span><span class="identifier">type</span></code> is the return type of
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>,
|
||||
and an iterator <code class="computeroutput"><span class="identifier">it</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">It</span></code>
|
||||
on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.expression_semantics"></a><h6>
|
||||
<a name="id962654"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">reverse_iter_fold<span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<a class="link" href="../functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a> to a sequence
|
||||
of type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
|
||||
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
|
||||
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.complexity"></a><h6>
|
||||
<a name="id962752"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.header"></a><h6>
|
||||
<a name="id962810"></a>
|
||||
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
58
doc/html/fusion/algorithm/query.html
Normal file
58
doc/html/fusion/algorithm/query.html
Normal file
@ -0,0 +1,58 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Query</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithm.html" title="Algorithm">
|
||||
<link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each">
|
||||
<link rel="next" href="query/functions.html" title="Functions">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithm.query"></a><a class="link" href="query.html" title="Query">Query</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="query/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="query/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
The query algorithms provide support for searching and analyzing sequences.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.header"></a><h5>
|
||||
<a name="id964206"></a>
|
||||
<a class="link" href="query.html#fusion.algorithm.query.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
53
doc/html/fusion/algorithm/query/functions.html
Normal file
53
doc/html/fusion/algorithm/query/functions.html
Normal file
@ -0,0 +1,53 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../query.html" title="Query">
|
||||
<link rel="prev" href="../query.html" title="Query">
|
||||
<link rel="next" href="functions/any.html" title="any">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithm.query.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a>
|
||||
</h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="functions/any.html">any</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/all.html">all</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/none.html">none</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/find.html">find</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/find_if.html">find_if</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/count.html">count</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/count_if.html">count_if</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
179
doc/html/fusion/algorithm/query/functions/all.html
Normal file
179
doc/html/fusion/algorithm/query/functions/all.html
Normal file
@ -0,0 +1,179 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>all</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="any.html" title="any">
|
||||
<link rel="next" href="none.html" title="none">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.all"></a><a class="link" href="all.html" title="all">all</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.functions.all.description"></a><h6>
|
||||
<a name="id965204"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.functions.all.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">all</span></code> returns true if
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> returns true for every
|
||||
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.all.synopsis"></a><h6>
|
||||
<a name="id965257"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.functions.all.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">all</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id965393"></a><p class="title"><b>Table 1.50. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.all.expression_semantics"></a><h6>
|
||||
<a name="id965555"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.functions.all.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
|
||||
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.all.complexity"></a><h6>
|
||||
<a name="id965666"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.functions.all.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.all.header"></a><h6>
|
||||
<a name="id965717"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.functions.all.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.query.functions.all.example"></a><h6>
|
||||
<a name="id965832"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.functions.all.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
|
||||
<span class="identifier">assert</span><span class="special">(!</span><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
179
doc/html/fusion/algorithm/query/functions/any.html
Normal file
179
doc/html/fusion/algorithm/query/functions/any.html
Normal file
@ -0,0 +1,179 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>any</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="../functions.html" title="Functions">
|
||||
<link rel="next" href="all.html" title="all">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.any"></a><a class="link" href="any.html" title="any">any</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.functions.any.description"></a><h6>
|
||||
<a name="id964333"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.functions.any.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">any</span></code> returns true if
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> returns true for at
|
||||
least one element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.any.synopsis"></a><h6>
|
||||
<a name="id964386"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.functions.any.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">any</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id964522"></a><p class="title"><b>Table 1.49. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression,
|
||||
convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
|
||||
for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.any.expression_semantics"></a><h6>
|
||||
<a name="id964682"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.functions.any.expression_semantics">Expression
|
||||
semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
|
||||
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for some
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.any.complexity"></a><h6>
|
||||
<a name="id964794"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.functions.any.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.any.header"></a><h6>
|
||||
<a name="id964844"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.functions.any.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.query.functions.any.example"></a><h6>
|
||||
<a name="id964960"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.functions.any.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
|
||||
<span class="identifier">assert</span><span class="special">(!</span><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
166
doc/html/fusion/algorithm/query/functions/count.html
Normal file
166
doc/html/fusion/algorithm/query/functions/count.html
Normal file
@ -0,0 +1,166 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>count</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="find_if.html" title="find_if">
|
||||
<link rel="next" href="count_if.html" title="count_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.count"></a><a class="link" href="count.html" title="count">count</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.functions.count.description"></a><h6>
|
||||
<a name="id971882"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.functions.count.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the number of elements of a given type within a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.count.synopsis"></a><h6>
|
||||
<a name="id971898"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.functions.count.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">count</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id972044"></a><p class="title"><b>Table 1.54. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span>
|
||||
<span class="special">==</span> <span class="identifier">t</span></code>
|
||||
must be a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
|
||||
for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to count
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.count.expression_semantics"></a><h6>
|
||||
<a name="id972204"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.functions.count.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
|
||||
of type <code class="computeroutput"><span class="identifier">T</span></code> and equal to
|
||||
<code class="computeroutput"><span class="identifier">t</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.count.complexity"></a><h6>
|
||||
<a name="id972298"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.functions.count.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.count.header"></a><h6>
|
||||
<a name="id972348"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.functions.count.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.query.functions.count.example"></a><h6>
|
||||
<a name="id972464"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.functions.count.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
165
doc/html/fusion/algorithm/query/functions/count_if.html
Normal file
165
doc/html/fusion/algorithm/query/functions/count_if.html
Normal file
@ -0,0 +1,165 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>count_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="count.html" title="count">
|
||||
<link rel="next" href="../metafunctions.html" title="Metafunctions">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.functions.count_if.description"></a><h6>
|
||||
<a name="id972609"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the number of elements within a sequence with a type for which
|
||||
a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.count_if.synopsis"></a><h6>
|
||||
<a name="id972633"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">count_if</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id972770"></a><p class="title"><b>Table 1.55. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.count_if.expression_semantics"></a><h6>
|
||||
<a name="id972932"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code> where <code class="computeroutput"><span class="identifier">f</span></code> evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.count_if.complexity"></a><h6>
|
||||
<a name="id973025"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.count_if.header"></a><h6>
|
||||
<a name="id973076"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.query.functions.count_if.example"></a><h6>
|
||||
<a name="id973191"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
170
doc/html/fusion/algorithm/query/functions/find.html
Normal file
170
doc/html/fusion/algorithm/query/functions/find.html
Normal file
@ -0,0 +1,170 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>find</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="none.html" title="none">
|
||||
<link rel="next" href="find_if.html" title="find_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.find"></a><a class="link" href="find.html" title="find">find</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.functions.find.description"></a><h6>
|
||||
<a name="id969232"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.functions.find.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Finds the first element of a given type within a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.find.synopsis"></a><h6>
|
||||
<a name="id969249"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.functions.find.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id969394"></a><p class="title"><b>Table 1.52. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to search for
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.find.expression_semantics"></a><h6>
|
||||
<a name="id969516"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.functions.find.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
|
||||
category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
|
||||
first element of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">T</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> if there is no such element. Equivalent
|
||||
to <code class="computeroutput"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.find.complexity"></a><h6>
|
||||
<a name="id969684"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.functions.find.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.find.header"></a><h6>
|
||||
<a name="id969734"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.functions.find.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.query.functions.find.example"></a><h6>
|
||||
<a name="id969849"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.functions.find.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(*</span><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
175
doc/html/fusion/algorithm/query/functions/find_if.html
Normal file
175
doc/html/fusion/algorithm/query/functions/find_if.html
Normal file
@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>find_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="find.html" title="find">
|
||||
<link rel="next" href="count.html" title="count">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a>
|
||||
</h5></div></div></div>
|
||||
<p>
|
||||
Finds the first element within a sequence with a type for which a given
|
||||
<a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.find_if.description"></a><h6>
|
||||
<a name="id970070"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithm.query.functions.find_if.synopsis"></a><h6>
|
||||
<a name="id970083"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id970228"></a><p class="title"><b>Table 1.53. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.find_if.expression_semantics"></a><h6>
|
||||
<a name="id970354"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: An iterator of the same
|
||||
iterator category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the first element
|
||||
of <code class="computeroutput"><span class="identifier">seq</span></code> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code>
|
||||
if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.find_if.complexity"></a><h6>
|
||||
<a name="id970489"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
include <boost/fusion/algorithm/query/find_if.hpp>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
include <boost/fusion/include/find_if.hpp>
|
||||
</li>
|
||||
</ol></div>
|
||||
<a name="fusion.algorithm.query.functions.find_if.example"></a><h6>
|
||||
<a name="id970560"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(*</span><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
179
doc/html/fusion/algorithm/query/functions/none.html
Normal file
179
doc/html/fusion/algorithm/query/functions/none.html
Normal file
@ -0,0 +1,179 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>none</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="all.html" title="all">
|
||||
<link rel="next" href="find.html" title="find">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.functions.none"></a><a class="link" href="none.html" title="none">none</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.functions.none.description"></a><h6>
|
||||
<a name="id966077"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.functions.none.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">none</span></code> returns true if
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> returns false for every
|
||||
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.none.synopsis"></a><h6>
|
||||
<a name="id966130"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.functions.none.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">none</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id968518"></a><p class="title"><b>Table 1.51. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.functions.none.expression_semantics"></a><h6>
|
||||
<a name="id968680"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.functions.none.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
|
||||
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">false</span></code> for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. Result equivalent to <code class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.none.complexity"></a><h6>
|
||||
<a name="id968822"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.functions.none.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.functions.none.header"></a><h6>
|
||||
<a name="id968872"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.functions.none.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.query.functions.none.example"></a><h6>
|
||||
<a name="id968988"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.functions.none.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
|
||||
<span class="identifier">assert</span><span class="special">(!</span><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
53
doc/html/fusion/algorithm/query/metafunctions.html
Normal file
53
doc/html/fusion/algorithm/query/metafunctions.html
Normal file
@ -0,0 +1,53 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../query.html" title="Query">
|
||||
<link rel="prev" href="functions/count_if.html" title="count_if">
|
||||
<link rel="next" href="metafunctions/any.html" title="any">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a>
|
||||
</h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="metafunctions/any.html">any</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/all.html">all</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/none.html">none</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/find.html">find</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/find_if.html">find_if</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/count.html">count</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/count_if.html">count_if</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
161
doc/html/fusion/algorithm/query/metafunctions/all.html
Normal file
161
doc/html/fusion/algorithm/query/metafunctions/all.html
Normal file
@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>all</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="any.html" title="any">
|
||||
<link rel="next" href="none.html" title="none">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.all"></a><a class="link" href="all.html" title="all">all</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.all.description"></a><h6>
|
||||
<a name="id973848"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a class="link" href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.all.synopsis"></a><h6>
|
||||
<a name="id973876"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">all</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id975328"></a><p class="title"><b>Table 1.57. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.all.expression_semantics"></a><h6>
|
||||
<a name="id975454"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a class="link" href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>
|
||||
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.all.complexity"></a><h6>
|
||||
<a name="id975573"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.all.header"></a><h6>
|
||||
<a name="id975590"></a>
|
||||
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
161
doc/html/fusion/algorithm/query/metafunctions/any.html
Normal file
161
doc/html/fusion/algorithm/query/metafunctions/any.html
Normal file
@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>any</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="next" href="all.html" title="all">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.any"></a><a class="link" href="any.html" title="any">any</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.any.description"></a><h6>
|
||||
<a name="id973347"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a class="link" href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.any.synopsis"></a><h6>
|
||||
<a name="id973374"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">any</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id973461"></a><p class="title"><b>Table 1.56. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.any.expression_semantics"></a><h6>
|
||||
<a name="id973587"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a class="link" href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>
|
||||
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.any.complexity"></a><h6>
|
||||
<a name="id973706"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.any.header"></a><h6>
|
||||
<a name="id973722"></a>
|
||||
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
158
doc/html/fusion/algorithm/query/metafunctions/count.html
Normal file
158
doc/html/fusion/algorithm/query/metafunctions/count.html
Normal file
@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>count</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="find_if.html" title="find_if">
|
||||
<link rel="next" href="count_if.html" title="count_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.count"></a><a class="link" href="count.html" title="count">count</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.count.description"></a><h6>
|
||||
<a name="id977307"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count</span></code>
|
||||
given the sequence and search types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.count.synopsis"></a><h6>
|
||||
<a name="id977334"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">count</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id977420"></a><p class="title"><b>Table 1.61. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
heading Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.count.expression_semantics"></a><h6>
|
||||
<a name="id977543"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a class="link" href="../functions/count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a>. The return type is always
|
||||
<code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.count.complexity"></a><h6>
|
||||
<a name="id977634"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.count.header"></a><h6>
|
||||
<a name="id977651"></a>
|
||||
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
158
doc/html/fusion/algorithm/query/metafunctions/count_if.html
Normal file
158
doc/html/fusion/algorithm/query/metafunctions/count_if.html
Normal file
@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>count_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="count.html" title="count">
|
||||
<link rel="next" href="../../transformation.html" title="Transformation">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.count_if.description"></a><h6>
|
||||
<a name="id977779"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count_if</span></code>
|
||||
given the sequence and predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.count_if.synopsis"></a><h6>
|
||||
<a name="id977808"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pred</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">count_if</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id977894"></a><p class="title"><b>Table 1.62. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.count_if.expression_semantics"></a><h6>
|
||||
<a name="id978013"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a class="link" href="../functions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a>. The return type is
|
||||
always <code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.count_if.complexity"></a><h6>
|
||||
<a name="id978113"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.count_if.header"></a><h6>
|
||||
<a name="id978132"></a>
|
||||
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
160
doc/html/fusion/algorithm/query/metafunctions/find.html
Normal file
160
doc/html/fusion/algorithm/query/metafunctions/find.html
Normal file
@ -0,0 +1,160 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>find</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="none.html" title="none">
|
||||
<link rel="next" href="find_if.html" title="find_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.find"></a><a class="link" href="find.html" title="find">find</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.find.description"></a><h6>
|
||||
<a name="id976218"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a>, given the sequence and
|
||||
search types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.find.synopsis"></a><h6>
|
||||
<a name="id976245"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">find</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id976330"></a><p class="title"><b>Table 1.59. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.find.expression_semantics"></a><h6>
|
||||
<a name="id976452"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
|
||||
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
|
||||
first element of type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">Sequence</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.find.complexity"></a><h6>
|
||||
<a name="id976584"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, at most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.find.header"></a><h6>
|
||||
<a name="id976634"></a>
|
||||
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
161
doc/html/fusion/algorithm/query/metafunctions/find_if.html
Normal file
161
doc/html/fusion/algorithm/query/metafunctions/find_if.html
Normal file
@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>find_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="find.html" title="find">
|
||||
<link rel="next" href="count.html" title="count">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.find_if.description"></a><h6>
|
||||
<a name="id976762"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a> given the sequence and
|
||||
predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.find_if.synopsis"></a><h6>
|
||||
<a name="id976792"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pred</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">find_if</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id976878"></a><p class="title"><b>Table 1.60. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's arguments
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.find_if.expression_semantics"></a><h6>
|
||||
<a name="id977001"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
|
||||
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
|
||||
first element in <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
|
||||
to true. Returns <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.find_if.complexity"></a><h6>
|
||||
<a name="id977131"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.find_if.header"></a><h6>
|
||||
<a name="id977181"></a>
|
||||
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
161
doc/html/fusion/algorithm/query/metafunctions/none.html
Normal file
161
doc/html/fusion/algorithm/query/metafunctions/none.html
Normal file
@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>none</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="all.html" title="all">
|
||||
<link rel="next" href="find.html" title="find">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.query.metafunctions.none"></a><a class="link" href="none.html" title="none">none</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.query.metafunctions.none.description"></a><h6>
|
||||
<a name="id975716"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a class="link" href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.none.synopsis"></a><h6>
|
||||
<a name="id975744"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">none</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id975830"></a><p class="title"><b>Table 1.58. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.none.expression_semantics"></a><h6>
|
||||
<a name="id975956"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a class="link" href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>
|
||||
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.none.complexity"></a><h6>
|
||||
<a name="id976075"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.query.metafunctions.none.header"></a><h6>
|
||||
<a name="id976092"></a>
|
||||
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
71
doc/html/fusion/algorithm/transformation.html
Normal file
71
doc/html/fusion/algorithm/transformation.html
Normal file
@ -0,0 +1,71 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Transformation</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithm.html" title="Algorithm">
|
||||
<link rel="prev" href="query/metafunctions/count_if.html" title="count_if">
|
||||
<link rel="next" href="transformation/functions.html" title="Functions">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithm.transformation"></a><a class="link" href="transformation.html" title="Transformation">Transformation</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="transformation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="transformation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
The transformation algorithms create new sequences out of existing sequences
|
||||
by performing some sort of transformation. In reality the new sequences are
|
||||
views onto the data in the original sequences.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
As the transformation algorithms return views onto their input arguments,
|
||||
it is important that the lifetime of the input arguments is greater than
|
||||
the period during which you wish to use the results.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<a name="fusion.algorithm.transformation.header"></a><h5>
|
||||
<a name="id978271"></a>
|
||||
<a class="link" href="transformation.html#fusion.algorithm.transformation.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
65
doc/html/fusion/algorithm/transformation/functions.html
Normal file
65
doc/html/fusion/algorithm/transformation/functions.html
Normal file
@ -0,0 +1,65 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../transformation.html" title="Transformation">
|
||||
<link rel="prev" href="../transformation.html" title="Transformation">
|
||||
<link rel="next" href="functions/filter.html" title="filter">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a>
|
||||
</h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="functions/filter.html">filter</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/filter_if.html">filter_if</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/transform.html">transform</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/replace.html">replace</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/replace_if.html">replace_if</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/remove.html">remove</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/remove_if.html">remove_if</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/reverse.html">reverse</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/clear.html">clear</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/erase.html">erase</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/erase_key.html">erase_key</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/insert.html">insert</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/insert_range.html">insert_range</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/join.html">join</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/zip.html">zip</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/pop_back.html">pop_back</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/pop_front.html">pop_front</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/push_back.html">push_back</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/push_front.html">push_front</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
140
doc/html/fusion/algorithm/transformation/functions/clear.html
Normal file
140
doc/html/fusion/algorithm/transformation/functions/clear.html
Normal file
@ -0,0 +1,140 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>clear</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="reverse.html" title="reverse">
|
||||
<link rel="next" href="erase.html" title="erase">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.clear"></a><a class="link" href="clear.html" title="clear">clear</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.clear.description"></a><h6>
|
||||
<a name="id987528"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
<a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a> returns an empty sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.clear.synposis"></a><h6>
|
||||
<a name="id987559"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id987667"></a><p class="title"><b>Table 1.72. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.clear.expression_semantics"></a><h6>
|
||||
<a name="id987753"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Expression Semantics</strong></span>: Returns a sequence
|
||||
with no elements.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.clear.complexity"></a><h6>
|
||||
<a name="id987816"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.clear.header"></a><h6>
|
||||
<a name="id987835"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.clear.example"></a><h6>
|
||||
<a name="id987950"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">());</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
226
doc/html/fusion/algorithm/transformation/functions/erase.html
Normal file
226
doc/html/fusion/algorithm/transformation/functions/erase.html
Normal file
@ -0,0 +1,226 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>erase</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="clear.html" title="clear">
|
||||
<link rel="next" href="erase_key.html" title="erase_key">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.erase"></a><a class="link" href="erase.html" title="erase">erase</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.erase.description"></a><h6>
|
||||
<a name="id988052"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence, containing all the elements of the original except
|
||||
those at a specified iterator, or between two iterators.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.erase.synposis"></a><h6>
|
||||
<a name="id988074"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">First</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it1</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Last</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it2</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id988406"></a><p class="title"><b>Table 1.73. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameters
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">it1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">it2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
after <code class="computeroutput"><span class="identifier">it1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.erase.expression_semantics"></a><h6>
|
||||
<a name="id989954"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
except the element at <code class="computeroutput"><span class="identifier">pos</span></code>.
|
||||
</p>
|
||||
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, with
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, except those in the range [<code class="computeroutput"><span class="identifier">first</span></code>,<code class="computeroutput"><span class="identifier">last</span></code>).
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.erase.complexity"></a><h6>
|
||||
<a name="id990193"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.erase.header"></a><h6>
|
||||
<a name="id990212"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.erase.example"></a><h6>
|
||||
<a name="id990327"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,168 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>erase_key</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="erase.html" title="erase">
|
||||
<link rel="next" href="insert.html" title="insert">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.erase_key"></a><a class="link" href="erase_key.html" title="erase_key">erase_key</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.erase_key.description"></a><h6>
|
||||
<a name="id990631"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For an <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">associative</a>]
|
||||
<a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>, returns a <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">associative</a>]
|
||||
<a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
|
||||
containing all the elements of the original except those with a given
|
||||
key.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.erase_key.synposis"></a><h6>
|
||||
<a name="id990679"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id990809"></a><p class="title"><b>Table 1.74. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Key</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Key to erase
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.erase_key.expression_semantics"></a><h6>
|
||||
<a name="id990933"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Key</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.erase_key.complexity"></a><h6>
|
||||
<a name="id991021"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.erase_key.header"></a><h6>
|
||||
<a name="id991043"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.erase_key.example"></a><h6>
|
||||
<a name="id991163"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><a class="link" href="../../../container/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">>(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">>(</span><span class="char">'b'</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
175
doc/html/fusion/algorithm/transformation/functions/filter.html
Normal file
175
doc/html/fusion/algorithm/transformation/functions/filter.html
Normal file
@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>filter</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="../functions.html" title="Functions">
|
||||
<link rel="next" href="filter_if.html" title="filter_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.filter"></a><a class="link" href="filter.html" title="filter">filter</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.filter.description"></a><h6>
|
||||
<a name="id978401"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a given sequence, filter returns a new sequences containing only
|
||||
the elements of a specified type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.filter.synopsis"></a><h6>
|
||||
<a name="id978422"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id978552"></a><p class="title"><b>Table 1.63. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.filter.expression_semantics"></a><h6>
|
||||
<a name="id978672"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
|
||||
to <code class="computeroutput"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.filter.complexity"></a><h6>
|
||||
<a name="id978847"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.filter.header"></a><h6>
|
||||
<a name="id978866"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.filter.example"></a><h6>
|
||||
<a name="id978984"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,178 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>filter_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="filter.html" title="filter">
|
||||
<link rel="next" href="transform.html" title="transform">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.filter_if"></a><a class="link" href="filter_if.html" title="filter_if">filter_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.filter_if.description"></a><h6>
|
||||
<a name="id979168"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a given sequence, <a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a> returns a new sequences
|
||||
containing only the elements with types for which a given <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.filter_if.synopsis"></a><h6>
|
||||
<a name="id979225"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id979355"></a><p class="title"><b>Table 1.64. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The predicate to filter by
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.filter_if.expression_semantics"></a><h6>
|
||||
<a name="id979478"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Pred</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
with types for which <code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. The order of the retained elements
|
||||
is the same as in the original sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.filter_if.complexity"></a><h6>
|
||||
<a name="id979618"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.filter_if.header"></a><h6>
|
||||
<a name="id979776"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.filter_if.example"></a><h6>
|
||||
<a name="id979896"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
188
doc/html/fusion/algorithm/transformation/functions/insert.html
Normal file
188
doc/html/fusion/algorithm/transformation/functions/insert.html
Normal file
@ -0,0 +1,188 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>insert</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="erase_key.html" title="erase_key">
|
||||
<link rel="next" href="insert_range.html" title="insert_range">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.insert"></a><a class="link" href="insert.html" title="insert">insert</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.insert.description"></a><h6>
|
||||
<a name="id991298"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with all the elements of the original, an a new
|
||||
element inserted the position described by a given iterator.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.insert.synposis"></a><h6>
|
||||
<a name="id991320"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">insert</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id991515"></a><p class="title"><b>Table 1.75. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">pos</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The position to insert at
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">t</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to insert
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.insert.expression_semantics"></a><h6>
|
||||
<a name="id991673"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, and a new element with the type and value of
|
||||
<code class="computeroutput"><span class="identifier">t</span></code> inserted at iterator
|
||||
<code class="computeroutput"><span class="identifier">pos</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.insert.complexity"></a><h6>
|
||||
<a name="id991783"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.insert.header"></a><h6>
|
||||
<a name="id991802"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.insert.example"></a><h6>
|
||||
<a name="id991920"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,197 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>insert_range</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="insert.html" title="insert">
|
||||
<link rel="next" href="join.html" title="join">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.insert_range"></a><a class="link" href="insert_range.html" title="insert_range">insert_range</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.insert_range.description"></a><h6>
|
||||
<a name="id992114"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with another sequence inserted at a specified
|
||||
iterator.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.insert_range.synposis"></a><h6>
|
||||
<a name="id992133"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Range</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">insert_range</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">range</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id992331"></a><p class="title"><b>Table 1.76. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">pos</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The position to insert at
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">range</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Range to insert
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.insert_range.expression_semantics"></a><h6>
|
||||
<a name="id992493"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
and the elements of <code class="computeroutput"><span class="identifier">range</span></code>
|
||||
inserted at iterator <code class="computeroutput"><span class="identifier">pos</span></code>.
|
||||
All elements retaining their ordering from the orignal sequences.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.insert_range.complexity"></a><h6>
|
||||
<a name="id992625"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.insert_range.header"></a><h6>
|
||||
<a name="id992644"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.insert_range.example"></a><h6>
|
||||
<a name="id992764"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
177
doc/html/fusion/algorithm/transformation/functions/join.html
Normal file
177
doc/html/fusion/algorithm/transformation/functions/join.html
Normal file
@ -0,0 +1,177 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>join</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="insert_range.html" title="insert_range">
|
||||
<link rel="next" href="zip.html" title="zip">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.join"></a><a class="link" href="join.html" title="join">join</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.join.description"></a><h6>
|
||||
<a name="id992986"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Takes 2 sequences and returns a sequence containing the elements of the
|
||||
first followed by the elements of the second.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.join.synopsis"></a><h6>
|
||||
<a name="id993005"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">RhSequence</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special"><</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id993148"></a><p class="title"><b>Table 1.77. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">lhs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">rhs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.join.expression_semantics"></a><h6>
|
||||
<a name="id993272"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">lhs</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">rhs</span></code> implement
|
||||
the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">lhs</span></code>
|
||||
followed by all the elements of <code class="computeroutput"><span class="identifier">rhs</span></code>.
|
||||
The order of the elements is preserved.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.join.complexity"></a><h6>
|
||||
<a name="id993398"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.join.header"></a><h6>
|
||||
<a name="id993417"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.join.example"></a><h6>
|
||||
<a name="id993532"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
|
||||
<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
153
doc/html/fusion/algorithm/transformation/functions/pop_back.html
Normal file
153
doc/html/fusion/algorithm/transformation/functions/pop_back.html
Normal file
@ -0,0 +1,153 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>pop_back</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="zip.html" title="zip">
|
||||
<link rel="next" href="pop_front.html" title="pop_front">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.pop_back"></a><a class="link" href="pop_back.html" title="pop_back">pop_back</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_back.description"></a><h6>
|
||||
<a name="id995882"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence, with the last element of the original removed.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_back.synopsis"></a><h6>
|
||||
<a name="id995904"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id996012"></a><p class="title"><b>Table 1.79. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.pop_back.expression_semantics"></a><h6>
|
||||
<a name="id996098"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
except the last element. The elements in the new sequence are in the
|
||||
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_back.complexity"></a><h6>
|
||||
<a name="id996208"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_back.header"></a><h6>
|
||||
<a name="id996230"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_back.example"></a><h6>
|
||||
<a name="id996350"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,153 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>pop_front</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="pop_back.html" title="pop_back">
|
||||
<link rel="next" href="push_back.html" title="push_back">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.pop_front"></a><a class="link" href="pop_front.html" title="pop_front">pop_front</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_front.description"></a><h6>
|
||||
<a name="id996464"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence, with the first element of the original removed.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_front.synopsis"></a><h6>
|
||||
<a name="id996486"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id996594"></a><p class="title"><b>Table 1.80. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.pop_front.expression_semantics"></a><h6>
|
||||
<a name="id996680"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
except the first element. The elements in the new sequence are in the
|
||||
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_front.complexity"></a><h6>
|
||||
<a name="id996790"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_front.header"></a><h6>
|
||||
<a name="id996812"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.pop_front.example"></a><h6>
|
||||
<a name="id996932"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,166 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>push_back</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="pop_front.html" title="pop_front">
|
||||
<link rel="next" href="push_front.html" title="push_front">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.push_back.description"></a><h6>
|
||||
<a name="id997051"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with an element added at the end.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.push_back.synopsis"></a><h6>
|
||||
<a name="id997072"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">push_back</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id997220"></a><p class="title"><b>Table 1.81. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">t</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to add to the end
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.push_back.expression_semantics"></a><h6>
|
||||
<a name="id997339"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
|
||||
to the end. The elements are in the same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.push_back.complexity"></a><h6>
|
||||
<a name="id997441"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.push_back.header"></a><h6>
|
||||
<a name="id997462"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.push_back.example"></a><h6>
|
||||
<a name="id997582"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,167 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>push_front</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="push_back.html" title="push_back">
|
||||
<link rel="next" href="../metafunctions.html" title="Metafunctions">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.push_front.description"></a><h6>
|
||||
<a name="id998267"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with an element added at the beginning.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.push_front.synopsis"></a><h6>
|
||||
<a name="id998286"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">push_front</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id998436"></a><p class="title"><b>Table 1.82. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">t</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to add to the beginning
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.push_front.expression_semantics"></a><h6>
|
||||
<a name="id998555"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
|
||||
to the beginning. The elements are in the same order as they were in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.push_front.complexity"></a><h6>
|
||||
<a name="id998657"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.push_front.header"></a><h6>
|
||||
<a name="id998679"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.push_front.example"></a><h6>
|
||||
<a name="id998799"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
175
doc/html/fusion/algorithm/transformation/functions/remove.html
Normal file
175
doc/html/fusion/algorithm/transformation/functions/remove.html
Normal file
@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>remove</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="replace_if.html" title="replace_if">
|
||||
<link rel="next" href="remove_if.html" title="remove_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.remove"></a><a class="link" href="remove.html" title="remove">remove</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.remove.description"></a><h6>
|
||||
<a name="id984301"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence, with all the elements of the original sequence,
|
||||
except those of a given type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.remove.synopsis"></a><h6>
|
||||
<a name="id984323"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id984452"></a><p class="title"><b>Table 1.69. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to remove
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.remove.expression_semantics"></a><h6>
|
||||
<a name="id984572"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, except those of type <code class="computeroutput"><span class="identifier">T</span></code>.
|
||||
Equivalent to <code class="computeroutput"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.remove.complexity"></a><h6>
|
||||
<a name="id984748"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.remove.header"></a><h6>
|
||||
<a name="id984767"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.remove.example"></a><h6>
|
||||
<a name="id984884"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,177 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>remove_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="remove.html" title="remove">
|
||||
<link rel="next" href="reverse.html" title="reverse">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.remove_if.description"></a><h6>
|
||||
<a name="id985032"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence, containing all the elements of the original except
|
||||
those where a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.remove_if.synopsis"></a><h6>
|
||||
<a name="id985061"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id985190"></a><p class="title"><b>Table 1.70. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Removal predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.remove_if.expression_semantics"></a><h6>
|
||||
<a name="id986408"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Pred</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, except those elements with types for which
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code> evaluates to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>. Equivalent to <code class="computeroutput"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special"><</span><span class="identifier">Pred</span><span class="special">></span>
|
||||
<span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.remove_if.complexity"></a><h6>
|
||||
<a name="id986604"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.remove_if.header"></a><h6>
|
||||
<a name="id986625"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.remove_if.example"></a><h6>
|
||||
<a name="id986745"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">is_floating_point</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
186
doc/html/fusion/algorithm/transformation/functions/replace.html
Normal file
186
doc/html/fusion/algorithm/transformation/functions/replace.html
Normal file
@ -0,0 +1,186 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>replace</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="transform.html" title="transform">
|
||||
<link rel="next" href="replace_if.html" title="replace_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.replace"></a><a class="link" href="replace.html" title="replace">replace</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.replace.description"></a><h6>
|
||||
<a name="id981551"></a>
|
||||
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Replaces each value within a sequence of a given type and value with
|
||||
a new value.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.replace.synopsis"></a><h6>
|
||||
<a name="id981573"></a>
|
||||
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">new_value</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id981747"></a><p class="title"><b>Table 1.67. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span>
|
||||
<span class="special">==</span> <span class="identifier">old_value</span></code>
|
||||
is a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
|
||||
for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code> with
|
||||
type convertible to <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">old_value</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Value to replace
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">new_value</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement value
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.replace.expression_semantics"></a><h6>
|
||||
<a name="id981947"></a>
|
||||
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
all the values of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
|
||||
to elements with the same type and equal to <code class="computeroutput"><span class="identifier">old_value</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.replace.complexity"></a><h6>
|
||||
<a name="id983141"></a>
|
||||
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.replace.header"></a><h6>
|
||||
<a name="id983162"></a>
|
||||
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.replace.example"></a><h6>
|
||||
<a name="id983282"></a>
|
||||
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,195 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>replace_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="replace.html" title="replace">
|
||||
<link rel="next" href="remove.html" title="remove">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.replace_if"></a><a class="link" href="replace_if.html" title="replace_if">replace_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.replace_if.description"></a><h6>
|
||||
<a name="id983408"></a>
|
||||
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Replaces each element of a given sequence for which an unary function
|
||||
object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>
|
||||
replaced with a new value.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.replace_if.synopsis"></a><h6>
|
||||
<a name="id983435"></a>
|
||||
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">replace_if</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">new_value</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id983623"></a><p class="title"><b>Table 1.68. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A function object for which <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">new_value</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement value
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.replace_if.expression_semantics"></a><h6>
|
||||
<a name="id983816"></a>
|
||||
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
|
||||
to each element for which <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.replace_if.complexity"></a><h6>
|
||||
<a name="id983924"></a>
|
||||
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.replace_if.header"></a><h6>
|
||||
<a name="id983946"></a>
|
||||
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.replace_if.example"></a><h6>
|
||||
<a name="id984066"></a>
|
||||
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
157
doc/html/fusion/algorithm/transformation/functions/reverse.html
Normal file
157
doc/html/fusion/algorithm/transformation/functions/reverse.html
Normal file
@ -0,0 +1,157 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>reverse</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="remove_if.html" title="remove_if">
|
||||
<link rel="next" href="clear.html" title="clear">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.reverse"></a><a class="link" href="reverse.html" title="reverse">reverse</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.reverse.description"></a><h6>
|
||||
<a name="id986912"></a>
|
||||
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with the elements of the original in reverse order.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.reverse.synposis"></a><h6>
|
||||
<a name="id986934"></a>
|
||||
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id987042"></a><p class="title"><b>Table 1.71. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.reverse.expression_semantics"></a><h6>
|
||||
<a name="id987128"></a>
|
||||
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
is a <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
|
||||
Sequence</a> else, <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
is a <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
|
||||
Access Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
in reverse order.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.reverse.complexity"></a><h6>
|
||||
<a name="id987260"></a>
|
||||
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.reverse.header"></a><h6>
|
||||
<a name="id987282"></a>
|
||||
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.reverse.example"></a><h6>
|
||||
<a name="id987402"></a>
|
||||
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,291 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>transform</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="filter_if.html" title="filter_if">
|
||||
<link rel="next" href="replace.html" title="replace">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.transform"></a><a class="link" href="transform.html" title="transform">transform</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.transform.description"></a><h6>
|
||||
<a name="id980099"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">transform</span></code> returns a new
|
||||
sequence with elements created by applying <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> to each element of <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.transform.unary_version_synopsis"></a><h6>
|
||||
<a name="id980172"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.unary_version_synopsis">Unary
|
||||
version synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id980314"></a><p class="title"><b>Table 1.65. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
is a valid expression for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
of <code class="computeroutput"><span class="identifier">seq</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)>::</span><span class="identifier">type</span></code>
|
||||
is the return type of <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
when called with a value of each element type <code class="computeroutput"><span class="identifier">E</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.transform.expression_semantics"></a><h6>
|
||||
<a name="id980522"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
within <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.transform.binary_version_synopsis"></a><h6>
|
||||
<a name="id980621"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.binary_version_synopsis">Binary
|
||||
version synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">F</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id980811"></a><p class="title"><b>Table 1.66. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">e2</span><span class="special">)</span></code>
|
||||
is a valid expression for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">e2</span></code> of
|
||||
<code class="computeroutput"><span class="identifier">seq2</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span><span class="identifier">E2</span><span class="special">)>::</span><span class="identifier">type</span></code>
|
||||
is the return type of <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
when called with elements of type <code class="computeroutput"><span class="identifier">E1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">E2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></code> for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code>
|
||||
within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.transform.complexity"></a><h6>
|
||||
<a name="id981171"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.transform.header"></a><h6>
|
||||
<a name="id981192"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.transform.example"></a><h6>
|
||||
<a name="id981312"></a>
|
||||
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">triple</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">int</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">*</span> <span class="number">3</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
153
doc/html/fusion/algorithm/transformation/functions/zip.html
Normal file
153
doc/html/fusion/algorithm/transformation/functions/zip.html
Normal file
@ -0,0 +1,153 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>zip</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="join.html" title="join">
|
||||
<link rel="next" href="pop_back.html" title="pop_back">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.functions.zip"></a><a class="link" href="zip.html" title="zip">zip</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.functions.zip.description"></a><h6>
|
||||
<a name="id993748"></a>
|
||||
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Zips sequences together to form a single sequence, whos members are tuples
|
||||
of the members of the component sequences.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.zip.synopsis"></a><h6>
|
||||
<a name="id993767"></a>
|
||||
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">SequenceN</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="../metafunctions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seqN</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id993969"></a><p class="title"><b>Table 1.78. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Each sequence is a model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.functions.zip.expression_semantics"></a><h6>
|
||||
<a name="id994062"></a>
|
||||
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
tuples of elements from sequences <code class="computeroutput"><span class="identifier">seq1</span></code>
|
||||
to <code class="computeroutput"><span class="identifier">seqN</span></code>. For example,
|
||||
applying zip to tuples <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span></code>
|
||||
and <code class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
|
||||
<span class="char">'c'</span><span class="special">)</span></code>
|
||||
would return <code class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
|
||||
<span class="char">'c'</span><span class="special">))</span></code>
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.zip.complexity"></a><h6>
|
||||
<a name="id995505"></a>
|
||||
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.functions.zip.header"></a><h6>
|
||||
<a name="id995524"></a>
|
||||
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.functions.zip.example"></a><h6>
|
||||
<a name="id995640"></a>
|
||||
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
|
||||
<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
65
doc/html/fusion/algorithm/transformation/metafunctions.html
Normal file
65
doc/html/fusion/algorithm/transformation/metafunctions.html
Normal file
@ -0,0 +1,65 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../transformation.html" title="Transformation">
|
||||
<link rel="prev" href="functions/push_front.html" title="push_front">
|
||||
<link rel="next" href="metafunctions/filter.html" title="filter">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a>
|
||||
</h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="metafunctions/filter.html">filter</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/filter_if.html">filter_if</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/transform.html">transform</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/replace.html">replace</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/replace_if.html">replace_if</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/remove.html">remove</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/remove_if.html">remove_if</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/reverse.html">reverse</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/clear.html">clear</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/erase.html">erase</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/erase_key.html">erase_key</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/insert.html">insert</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/insert_range.html">insert_range</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/join.html">join</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/zip.html">zip</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/pop_back.html">pop_back</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/pop_front.html">pop_front</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/push_back.html">push_back</a></span></dt>
|
||||
<dt><span class="section"><a href="metafunctions/push_front.html">push_front</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,136 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>clear</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="reverse.html" title="reverse">
|
||||
<link rel="next" href="erase.html" title="erase">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.clear"></a><a class="link" href="clear.html" title="clear">clear</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.clear.description"></a><h6>
|
||||
<a name="id1006245"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.clear.synopsis"></a><h6>
|
||||
<a name="id1006277"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">clear</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1006351"></a><p class="title"><b>Table 1.92. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.clear.expression_semantics"></a><h6>
|
||||
<a name="id1006433"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an empty sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.clear.complexity"></a><h6>
|
||||
<a name="id1006505"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.clear.header"></a><h6>
|
||||
<a name="id1006526"></a>
|
||||
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,199 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>erase</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="clear.html" title="clear">
|
||||
<link rel="next" href="erase_key.html" title="erase_key">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase"></a><a class="link" href="erase.html" title="erase">erase</a>
|
||||
</h5></div></div></div>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a>, given the input sequence
|
||||
and range delimiting iterator types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase.description"></a><h6>
|
||||
<a name="id1006670"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase.synopsis"></a><h6>
|
||||
<a name="id1006688"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">It1</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">It2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">erase</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1006796"></a><p class="title"><b>Table 1.93. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">It1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">It2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.erase.expression_semantics"></a><h6>
|
||||
<a name="id1006958"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
the element at <code class="computeroutput"><span class="identifier">It1</span></code> removed.
|
||||
</p>
|
||||
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
the elements between <code class="computeroutput"><span class="identifier">It1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">It2</span></code> removed.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase.complexity"></a><h6>
|
||||
<a name="id1007170"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase.header"></a><h6>
|
||||
<a name="id1007192"></a>
|
||||
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>erase_key</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="erase.html" title="erase">
|
||||
<link rel="next" href="insert.html" title="insert">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase_key"></a><a class="link" href="erase_key.html" title="erase_key">erase_key</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase_key.description"></a><h6>
|
||||
<a name="id1007320"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a>, given the sequence
|
||||
and key types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase_key.synopsis"></a><h6>
|
||||
<a name="id1007348"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Key</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">erase_key</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1007433"></a><p class="title"><b>Table 1.94. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Key</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Key type
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
|
||||
<a name="id1007556"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>,
|
||||
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase_key.complexity"></a><h6>
|
||||
<a name="id1007654"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.erase_key.header"></a><h6>
|
||||
<a name="id1007673"></a>
|
||||
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,172 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>filter</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="next" href="filter_if.html" title="filter_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter"></a><a class="link" href="filter.html" title="filter">filter</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter.description"></a><h6>
|
||||
<a name="id998948"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a> given the sequence type
|
||||
and type to retain.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter.synopsis"></a><h6>
|
||||
<a name="id998976"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">filter</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id999064"></a><p class="title"><b>Table 1.83. Parameter</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameter">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.filter.expression_semantics"></a><h6>
|
||||
<a name="id999184"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
that are of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
|
||||
to <code class="computeroutput"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter.complexity"></a><h6>
|
||||
<a name="id999392"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter.header"></a><h6>
|
||||
<a name="id999413"></a>
|
||||
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,173 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>filter_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="filter.html" title="filter">
|
||||
<link rel="next" href="transform.html" title="transform">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter_if"></a><a class="link" href="filter_if.html" title="filter_if">filter_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter_if.description"></a><h6>
|
||||
<a name="id999542"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a> given the sequence
|
||||
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> predicate type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter_if.synopsis"></a><h6>
|
||||
<a name="id999573"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pred</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">filter_if</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id999658"></a><p class="title"><b>Table 1.84. Parameter</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameter">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
|
||||
<a name="id999783"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
|
||||
to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter_if.complexity"></a><h6>
|
||||
<a name="id999933"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.filter_if.header"></a><h6>
|
||||
<a name="id999952"></a>
|
||||
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,182 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>insert</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="erase_key.html" title="erase_key">
|
||||
<link rel="next" href="insert_range.html" title="insert_range">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert"></a><a class="link" href="insert.html" title="insert">insert</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert.description"></a><h6>
|
||||
<a name="id1007801"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a>, given the sequence,
|
||||
position iterator and insertion types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert.synopsis"></a><h6>
|
||||
<a name="id1007830"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Position</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">insert</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1007931"></a><p class="title"><b>Table 1.95. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.insert.expression_semantics"></a><h6>
|
||||
<a name="id1008087"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with an
|
||||
element of type <code class="computeroutput"><span class="identifier">T</span></code> inserted
|
||||
at position <code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert.complexity"></a><h6>
|
||||
<a name="id1008209"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert.header"></a><h6>
|
||||
<a name="id1008231"></a>
|
||||
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,191 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>insert_range</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="insert.html" title="insert">
|
||||
<link rel="next" href="join.html" title="join">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert_range"></a><a class="link" href="insert_range.html" title="insert_range">insert_range</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert_range.description"></a><h6>
|
||||
<a name="id1008364"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a>, given the input
|
||||
sequence, position iterator and insertion range types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert_range.synopsis"></a><h6>
|
||||
<a name="id1008390"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Position</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Range</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">insert_range</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1008489"></a><p class="title"><b>Table 1.96. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Range</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
|
||||
<a name="id1008650"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Range</span></code> inserted
|
||||
at position <code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
into <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert_range.complexity"></a><h6>
|
||||
<a name="id1008795"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.insert_range.header"></a><h6>
|
||||
<a name="id1008812"></a>
|
||||
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
107
doc/html/fusion/algorithm/transformation/metafunctions/join.html
Normal file
107
doc/html/fusion/algorithm/transformation/metafunctions/join.html
Normal file
@ -0,0 +1,107 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>join</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="insert_range.html" title="insert_range">
|
||||
<link rel="next" href="zip.html" title="zip">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.join"></a><a class="link" href="join.html" title="join">join</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.join.description"></a><h6>
|
||||
<a name="id1008940"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result of joining 2 sequences, given the sequence types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.join.synopsis"></a><h6>
|
||||
<a name="id1008962"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">RhSequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">join</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.join.expression_semantics"></a><h6>
|
||||
<a name="id1011989"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special"><</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">LhSequence</span></code>
|
||||
amd <code class="computeroutput"><span class="identifier">RhSequence</span></code> implement
|
||||
the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">LhSequence</span></code>
|
||||
followed by the elements of <code class="computeroutput"><span class="identifier">RhSequence</span></code>.
|
||||
The order of the elements in the 2 sequences is preserved.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.join.complexity"></a><h6>
|
||||
<a name="id1012127"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.join.header"></a><h6>
|
||||
<a name="id1012148"></a>
|
||||
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,150 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>pop_back</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="zip.html" title="zip">
|
||||
<link rel="next" href="pop_front.html" title="pop_front">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_back"></a><a class="link" href="pop_back.html" title="pop_back">pop_back</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_back.description"></a><h6>
|
||||
<a name="id1012780"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_back.synopsis"></a><h6>
|
||||
<a name="id1012808"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">pop_back</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1012883"></a><p class="title"><b>Table 1.97. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
|
||||
<a name="id1012969"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
except the last element.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_back.complexity"></a><h6>
|
||||
<a name="id1013082"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_back.header"></a><h6>
|
||||
<a name="id1013101"></a>
|
||||
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,150 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>pop_front</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="pop_back.html" title="pop_back">
|
||||
<link rel="next" href="push_back.html" title="push_back">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_front"></a><a class="link" href="pop_front.html" title="pop_front">pop_front</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_front.description"></a><h6>
|
||||
<a name="id1013230"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_front.synopsis"></a><h6>
|
||||
<a name="id1013256"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">pop_front</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1013328"></a><p class="title"><b>Table 1.98. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
|
||||
<a name="id1013414"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
except the first element.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_front.complexity"></a><h6>
|
||||
<a name="id1013527"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.pop_front.header"></a><h6>
|
||||
<a name="id1013546"></a>
|
||||
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,163 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>push_back</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="pop_front.html" title="pop_front">
|
||||
<link rel="next" href="push_front.html" title="push_front">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_back.description"></a><h6>
|
||||
<a name="id1013675"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a>, given the types of
|
||||
the input sequence and element to push.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_back.synopsis"></a><h6>
|
||||
<a name="id1013701"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">push_back</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1013786"></a><p class="title"><b>Table 1.99. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.push_back.expression_semantics"></a><h6>
|
||||
<a name="id1013905"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
added to the end.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_back.complexity"></a><h6>
|
||||
<a name="id1014008"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_back.header"></a><h6>
|
||||
<a name="id1014028"></a>
|
||||
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,163 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>push_front</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="push_back.html" title="push_back">
|
||||
<link rel="next" href="../../../tuple.html" title="Tuple">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_front.description"></a><h6>
|
||||
<a name="id1014161"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a>, given the types
|
||||
of the input sequence and element to push.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_front.synopsis"></a><h6>
|
||||
<a name="id1014188"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">push_front</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1014273"></a><p class="title"><b>Table 1.100. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.push_front.expression_semantics"></a><h6>
|
||||
<a name="id1014392"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
added to the beginning.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_front.complexity"></a><h6>
|
||||
<a name="id1014497"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.push_front.header"></a><h6>
|
||||
<a name="id1014516"></a>
|
||||
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,172 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>remove</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="replace_if.html" title="replace_if">
|
||||
<link rel="next" href="remove_if.html" title="remove_if">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove"></a><a class="link" href="remove.html" title="remove">remove</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove.description"></a><h6>
|
||||
<a name="id1002697"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a>, given the sequence and
|
||||
removal types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove.synopsis"></a><h6>
|
||||
<a name="id1004639"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">T</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">remove</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1004726"></a><p class="title"><b>Table 1.89. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Remove elements of this type
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.remove.expression_semantics"></a><h6>
|
||||
<a name="id1004845"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
not of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
|
||||
to <code class="computeroutput"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove.complexity"></a><h6>
|
||||
<a name="id1005055"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove.header"></a><h6>
|
||||
<a name="id1005077"></a>
|
||||
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,173 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>remove_if</title>
|
||||
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<link rel="prev" href="remove.html" title="remove">
|
||||
<link rel="next" href="reverse.html" title="reverse">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a>
|
||||
</h5></div></div></div>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove_if.description"></a><h6>
|
||||
<a name="id1005205"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a class="link" href="../functions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a>, given the input sequence
|
||||
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove_if.synopsis"></a><h6>
|
||||
<a name="id1005236"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Pred</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">remove_if</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1005321"></a><p class="title"><b>Table 1.90. Parameters</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Parameters">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Requirement
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Remove elements which evaluate to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
|
||||
<a name="id1005468"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
|
||||
Sequence</a>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
|
||||
Sequence</a> model.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
|
||||
to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove_if.complexity"></a><h6>
|
||||
<a name="id1005618"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithm.transformation.metafunctions.remove_if.header"></a><h6>
|
||||
<a name="id1005637"></a>
|
||||
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user