mirror of
https://github.com/boostorg/fusion.git
synced 2026-02-15 13:12:09 +00:00
creating branch for fusion 2.1
[SVN r40231]
This commit is contained in:
17
doc/Jamfile
Normal file
17
doc/Jamfile
Normal file
@@ -0,0 +1,17 @@
|
||||
project boost/libs/fusion/doc ;
|
||||
import boostbook : boostbook ;
|
||||
using quickbook ;
|
||||
|
||||
boostbook quickbook
|
||||
:
|
||||
fusion.qbk
|
||||
:
|
||||
<xsl:param>boost.root=../../../..
|
||||
<xsl:param>boost.libraries=../../../libraries.htm
|
||||
<xsl:param>chunk.section.depth=4
|
||||
<xsl:param>chunk.first.sections=1
|
||||
<xsl:param>toc.section.depth=3
|
||||
<xsl:param>toc.max.depth=3
|
||||
<xsl:param>generate.section.toc.level=4
|
||||
;
|
||||
|
||||
16
doc/acknowledgements.qbk
Normal file
16
doc/acknowledgements.qbk
Normal file
@@ -0,0 +1,16 @@
|
||||
[section Acknowledgements]
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
[endsect]
|
||||
|
||||
2402
doc/algorithms.qbk
Normal file
2402
doc/algorithms.qbk
Normal file
File diff suppressed because it is too large
Load Diff
9
doc/changelog.qbk
Normal file
9
doc/changelog.qbk
Normal file
@@ -0,0 +1,9 @@
|
||||
[section Change log]
|
||||
|
||||
This section summarizes significant changes to the Fusion library.
|
||||
|
||||
* Sep 27, 2006: Added `boost::tuple` support.
|
||||
* Nov 17, 2006: Added `boost::variant` support.
|
||||
* Feb 15, 2007: Added functional module.
|
||||
|
||||
[endsect]
|
||||
377
doc/extension.qbk
Normal file
377
doc/extension.qbk
Normal file
@@ -0,0 +1,377 @@
|
||||
[section Extension]
|
||||
|
||||
The Fusion library is designed to be extensible, new sequences types can easily
|
||||
be added. In fact, the library support for `std::pair`, `boost::array` and __mpl__
|
||||
sequences is entirely provided using the extension mechanism.
|
||||
|
||||
The process for adding a new sequence type to Fusion is:
|
||||
|
||||
# Enable the __tag_dispatching__ mechanism used by Fusion for your sequence type
|
||||
# Design an iterator type for the sequence
|
||||
# Provide specialized behaviour for the intrinsic operations of the new Fusion sequence
|
||||
|
||||
[heading Our example]
|
||||
|
||||
In order to illustrate enabling a new sequence type for use with Fusion, we
|
||||
are going to use the type:
|
||||
|
||||
namespace example
|
||||
{
|
||||
struct example_struct
|
||||
{
|
||||
std::string name;
|
||||
int age;
|
||||
example_struct(
|
||||
const std::string& n,
|
||||
int a)
|
||||
: name(n), age(a)
|
||||
{}
|
||||
};
|
||||
}
|
||||
|
||||
We are going to pretend that this type has been provided by a 3rd party
|
||||
library, and therefore cannot be modified. We shall work through all the
|
||||
necessary steps to enable `example_struct` to serve as an __associative_sequence__
|
||||
as described in the __quick_start__ guide.
|
||||
|
||||
[heading Enabling Tag Dispatching]
|
||||
|
||||
The Fusion extensibility mechanism uses __tag_dispatching__ to call the
|
||||
correct code for a given sequence type. In order to exploit the tag
|
||||
dispatching mechanism we must first declare a new tag type for the
|
||||
mechanism to use. For example:
|
||||
|
||||
namespace example {
|
||||
struct example_sequence_tag; // Only definition needed
|
||||
}
|
||||
|
||||
Next we need to enable the `traits::tag_of` metafunction to return our newly chosen
|
||||
tag type for operations involving our sequence. This is done by specializing
|
||||
`traits::tag_of` for our sequence type.
|
||||
|
||||
#include <boost/fusion/support/tag_of_fwd.hpp>
|
||||
|
||||
namespace boost { namespace fusion { namespace traits {
|
||||
template<>
|
||||
struct tag_of<example_struct>
|
||||
{
|
||||
typedef example::example_sequence_tag type;
|
||||
};
|
||||
}}}
|
||||
|
||||
`traits::tag_of` also has a second template argument,
|
||||
that can be used in conjuction with `boost::enable_if` to provide tag
|
||||
support for groups of related types. This feature is not necessary
|
||||
for our sequence, but for an example see the code in:
|
||||
|
||||
#include <boost/fusion/sequence/adapted/mpl/tag_of.hpp>
|
||||
|
||||
[heading Designing a suitable iterator]
|
||||
|
||||
We need an iterator to describe positions, and provide access to
|
||||
the data within our sequence. As it is straightforward to do,
|
||||
we are going to provide a random access iterator in our example.
|
||||
|
||||
We will use a simple design, in which the 2 members of
|
||||
`example_struct` are given numbered indices, 0 for `name` and
|
||||
1 for `age` respectively.
|
||||
|
||||
template<typename Struct, int Pos>
|
||||
struct example_struct_iterator
|
||||
: boost::fusion::iterator_base<example_struct_iterator<Struct, Pos> >
|
||||
{
|
||||
BOOST_STATIC_ASSERT(Pos >=0 && Pos < 3);
|
||||
typedef Struct struct_type;
|
||||
typedef boost::mpl::int_<Pos> index;
|
||||
typedef boost::fusion::random_access_traversal_tag category;
|
||||
|
||||
example_struct_iterator(Struct& str)
|
||||
: struct_(str) {}
|
||||
|
||||
Struct& struct_;
|
||||
};
|
||||
|
||||
A quick summary of the details of our iterator:
|
||||
|
||||
# The iterator is parameterized by the type it is iterating over, and the index of the current element.
|
||||
# The typedefs `struct_type` and `index` provide convenient access to information we will need later in
|
||||
the implementation.
|
||||
# The typedef `category` allows the `traits::__category_of__` metafunction to establish
|
||||
the traversal category of the iterator.
|
||||
# The constructor stores a reference to the `example_struct` being iterated over.
|
||||
|
||||
We also need to enable __tag_dispatching__ for our iterator type, with another specialization of
|
||||
`traits::tag_of`.
|
||||
|
||||
In isolation, the iterator implementation is pretty dry. Things should become clearer as we
|
||||
add features to our implementation.
|
||||
|
||||
[heading A first couple of instructive features]
|
||||
|
||||
To start with, we will get the __result_of_value_of__ metafunction working. To
|
||||
do this, we provide a specialization of the `boost::fusion::extension::value_of_impl` template for
|
||||
our iterator's tag type.
|
||||
|
||||
template<>
|
||||
struct value_of_impl<example::example_struct_iterator_tag>
|
||||
{
|
||||
template<typename Iterator>
|
||||
struct apply;
|
||||
|
||||
template<typename Struct>
|
||||
struct apply<example::example_struct_iterator<Struct, 0> >
|
||||
{
|
||||
typedef std::string type;
|
||||
};
|
||||
|
||||
template<typename Struct>
|
||||
struct apply<example::example_struct_iterator<Struct, 1> >
|
||||
{
|
||||
typedef int type;
|
||||
};
|
||||
};
|
||||
|
||||
The implementation itself is pretty simple, it just uses 2 partial specializations to
|
||||
provide the type of the 2 different members of `example_struct`, based on the index of the iterator.
|
||||
|
||||
To understand how `value_of_impl` is used by the library we will look at the implementation of __value_of__:
|
||||
|
||||
template <typename Iterator>
|
||||
struct __value_of__
|
||||
: extension::value_of_impl<typename detail::tag_of<Iterator>::type>::
|
||||
template apply<Iterator>
|
||||
{};
|
||||
|
||||
So __value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__
|
||||
to provide its functionality. You will notice this pattern throughout the
|
||||
implementation of Fusion.
|
||||
|
||||
Ok, lets enable dereferencing of our iterator. In this case we must provide a suitable
|
||||
specialization of `deref_impl`.
|
||||
|
||||
template<>
|
||||
struct deref_impl<example::example_struct_iterator_tag>
|
||||
{
|
||||
template<typename Iterator>
|
||||
struct apply;
|
||||
|
||||
template<typename Struct>
|
||||
struct apply<example::example_struct_iterator<Struct, 0> >
|
||||
{
|
||||
typedef typename mpl::if_<
|
||||
is_const<Struct>, std::string const&, std::string&>::type type;
|
||||
|
||||
static type
|
||||
call(example::example_struct_iterator<Struct, 0> const& it)
|
||||
{
|
||||
return it.struct_.name;
|
||||
}
|
||||
};
|
||||
|
||||
template<typename Struct>
|
||||
struct apply<example::example_struct_iterator<Struct, 1> >
|
||||
{
|
||||
typedef typename mpl::if_<
|
||||
is_const<Struct>, int const&, int&>::type type;
|
||||
|
||||
static type
|
||||
call(example::example_struct_iterator<Struct, 1> const& it)
|
||||
{
|
||||
return it.struct_.age;
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
The use of `deref_impl` is very similar to that of `value_of_impl`, but it also
|
||||
provides some runtime functionality this time via the `call` static member function.
|
||||
To see how `deref_impl` is used, lets have a look at the implementation of __deref__:
|
||||
|
||||
namespace result_of
|
||||
{
|
||||
template <typename Iterator>
|
||||
struct __deref__
|
||||
: extension::deref_impl<typename detail::tag_of<Iterator>::type>::
|
||||
template apply<Iterator>
|
||||
{};
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
typename result_of::deref<Iterator>::type
|
||||
__deref__(Iterator const& i)
|
||||
{
|
||||
typedef result_of::deref<Iterator> deref_meta;
|
||||
return deref_meta::call(i);
|
||||
}
|
||||
|
||||
So again __result_of_deref__ uses __tag_dispatching__ in exactly the
|
||||
same way as the __value_of__ implementation. The runtime functionality used
|
||||
by __deref__ is provided by the `call` static function of the selected
|
||||
__mpl_metafunction_class__.
|
||||
|
||||
The actual implementation of `deref_impl` is slightly more complex than that of `value_of_impl`.
|
||||
We also need to implement the `call` function, which returns a reference
|
||||
to the appropriate member of the underlying sequence. We also require a little
|
||||
bit of metaprogramming to return `const` references if the underlying sequence
|
||||
is const.
|
||||
|
||||
[note Although there is a fair amount of left to do to produce a fully fledged
|
||||
Fusion sequence, __value_of__ and __deref__ illustrate all the signficant concepts
|
||||
required. The remainder of the process is very repetitive, simply requiring
|
||||
implementation of a suitable `xxxx_impl` for each feature `xxxx`.
|
||||
]
|
||||
|
||||
[heading Implementing the remaining iterator functionality]
|
||||
|
||||
Ok, now we have seen the way __value_of__ and __deref__ work, everything else will work
|
||||
in pretty much the same way. Lets start with forward iteration,
|
||||
by providing a `next_impl`:
|
||||
|
||||
template<>
|
||||
struct next_impl<example::example_struct_iterator_tag>
|
||||
{
|
||||
template<typename Iterator>
|
||||
struct apply
|
||||
{
|
||||
typedef typename Iterator::struct_type struct_type;
|
||||
typedef typename Iterator::index index;
|
||||
typedef example::example_struct_iterator<struct_type, index::value + 1> type;
|
||||
|
||||
static type
|
||||
call(Iterator const& i)
|
||||
{
|
||||
return type(i.struct_);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
This should be very familiar from our `deref_impl` implementation, we will be
|
||||
using this approach again and again now. Our design is simply to increment
|
||||
the `index` counter to move on to the next element. The various other iterator
|
||||
manipulations we need to perform will all just involve simple calculations
|
||||
with the `index` variables.
|
||||
|
||||
We also need to provide a suitable `equal_to_impl` so that iterators can be
|
||||
correctly compared. A __bidirectional_iterator__ will also need an implementation of `prior_impl`. For a
|
||||
__random_access_iterator__ `distance_impl` and `advance_impl` also need to be provided
|
||||
in order to satisfy the necessary complexity guarantees. As our iterator is
|
||||
a __random_access_iterator__ we will have to implement all of these functions.
|
||||
|
||||
Full implementations of `prior_impl`, `advance_impl`, `distance_impl` and `equal_to_impl` are
|
||||
provided in the example code.
|
||||
|
||||
[heading Implementing the intrinsic functions of the sequence]
|
||||
|
||||
In order that Fusion can correctly identify our sequence as a Fusion sequence, we
|
||||
need to enable `is_sequence` for our sequence type. As usual we just create
|
||||
an `impl` type specialized for our sequence tag:
|
||||
|
||||
template<>
|
||||
struct is_sequence_impl<example::example_sequence_tag>
|
||||
{
|
||||
template<typename T>
|
||||
struct apply : mpl::true_ {};
|
||||
};
|
||||
|
||||
We've some similar formalities to complete, providing `category_of_impl` so Fusion
|
||||
can correctly identify our sequence type, and `is_view_impl` so Fusion can correctly
|
||||
identify our sequence as not being a __view__ type. Implementations are
|
||||
provide in the example code.
|
||||
|
||||
Now we've completed some formalities, on to more interesting features. Lets get
|
||||
__begin__ working so that we can get an iterator to start accessing the data in
|
||||
our sequence.
|
||||
|
||||
template<>
|
||||
struct begin_impl<example::example_sequence_tag>
|
||||
{
|
||||
template<typename Sequence>
|
||||
struct apply
|
||||
{
|
||||
typedef example::example_struct_iterator<Sequence, 0> type;
|
||||
|
||||
static type
|
||||
call(Sequence& seq)
|
||||
{
|
||||
return type(seq);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
The implementation uses the same ideas we have applied throughout, in this case
|
||||
we are just creating one of the iterators we developed earlier, pointing to the
|
||||
first element in the sequence. The implementation of __end__ is very similar, and
|
||||
is provided in the example code.
|
||||
|
||||
For our __random_access_sequence__ we will also need to implement `size_impl`,
|
||||
`value_at_impl` and `at_impl`.
|
||||
|
||||
[heading Enabling our type as an associative container]
|
||||
|
||||
In order for `example_struct` to serve as an associative container,
|
||||
we need to enable 3 lookup features, __at_key__, __value_at_key__ and __has_key__.
|
||||
We also need to provide an implementation of the `is_associative` trait
|
||||
so that our sequence can be correctly identified as an associative container.
|
||||
|
||||
To implement `at_key_impl` we need to associate the `fields::age` and `fields::age`
|
||||
types described in the __quick_start__ guide with the appropriate members of `example_struct`.
|
||||
Our implementation is as follows:
|
||||
|
||||
template<>
|
||||
struct at_key_impl<example::example_sequence_tag>
|
||||
{
|
||||
template<typename Sequence, typename Key>
|
||||
struct apply;
|
||||
|
||||
template<typename Sequence>
|
||||
struct apply<Sequence, fields::name>
|
||||
{
|
||||
typedef typename mpl::if_<
|
||||
is_const<Sequence>,
|
||||
std::string const&,
|
||||
std::string&>::type type;
|
||||
|
||||
static type
|
||||
call(Sequence& seq)
|
||||
{
|
||||
return seq.name;
|
||||
};
|
||||
};
|
||||
|
||||
template<typename Sequence>
|
||||
struct apply<Sequence, fields::age>
|
||||
{
|
||||
typedef typename mpl::if_<
|
||||
is_const<Sequence>,
|
||||
int const&,
|
||||
int&>::type type;
|
||||
|
||||
static type
|
||||
call(Sequence& seq)
|
||||
{
|
||||
return seq.age;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Its all very similar to the implementations we've seen previously,
|
||||
such as `deref_impl` and `value_of_impl`. Instead of identifying
|
||||
the members by index or position, we are now selecting them using
|
||||
the types `fields::name` and `fields::age`. The implementations of
|
||||
`value_at_key_impl` and `has_key_impl` are equally straightforward,
|
||||
and are provided in the example code, along with an implementation
|
||||
of `is_associative_impl`.
|
||||
|
||||
[heading Summary]
|
||||
|
||||
We've now worked through the entire process for adding a new random
|
||||
access sequence and we've also enabled our type to serve as an associative
|
||||
container. The implementation was slightly longwinded, but followed
|
||||
a simple repeating pattern.
|
||||
|
||||
The support for `std::pair`, __mpl__ sequences, and `boost::array` all
|
||||
use the same approach, and provide additional examples of the approach
|
||||
for a variety of types.
|
||||
|
||||
[endsect]
|
||||
|
||||
1694
doc/functional.qbk
Normal file
1694
doc/functional.qbk
Normal file
File diff suppressed because it is too large
Load Diff
309
doc/fusion.qbk
Normal file
309
doc/fusion.qbk
Normal file
@@ -0,0 +1,309 @@
|
||||
[library Fusion
|
||||
[quickbook 1.3]
|
||||
[version 2.0]
|
||||
[authors [de Guzman, Joel], [Marsden, Dan], [Schwinger, Tobias]]
|
||||
[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.
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
[@http://www.boost.org/LICENSE_1_0.txt])
|
||||
]
|
||||
]
|
||||
|
||||
[def __note__ [$images/note.png]]
|
||||
[def __alert__ [$images/alert.png]]
|
||||
[def __tip__ [$images/tip.png]]
|
||||
[def __caution__ [$images/caution.png]]
|
||||
|
||||
[def __spirit__ [@http://spirit.sourceforge.net Spirit]]
|
||||
[def __phoenix__ [@http://boost.org/libs/spirit/phoenix/index.html Phoenix]]
|
||||
[def __mpl__ [@http://www.boost.org/libs/mpl/index.html MPL]]
|
||||
[def __stl__ [@http://en.wikipedia.org/wiki/Standard_Template_Library STL]]
|
||||
[def __tuple__ [@http://www.boost.org/libs/tuple/doc/tuple_users_guide.html Boost.Tuple]]
|
||||
[def __tr1__tuple__ [@http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf TR1 Tuple]]
|
||||
[def __boost_tools__ [@http://www.boost.org/tools/index.html Boost Tools]]
|
||||
[def __spirit_list__ [@https://lists.sourceforge.net/lists/listinfo/spirit-general Spirit Mailing List]]
|
||||
[def __spirit_general__ [@news://news.gmane.org/gmane.comp.spirit.general Spirit General NNTP news portal]]
|
||||
[def __gmane__ [@http://www.gmane.org Gmane]]
|
||||
[def __mlist_archive__ [@http://news.gmane.org/gmane.comp.parsers.spirit.general]]
|
||||
[def __jaakko_jarvi__ [@http://www.boost.org/people/jaakko_jarvi.htm Jaakko Jarvi]]
|
||||
[def __david_abrahams__ [@http://www.boost.org/people/dave_abrahams.htm David Abrahams]]
|
||||
[def __the_forwarding_problem__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm The Forwarding Problem]]
|
||||
|
||||
[def __boost_any__ [@http://boost.org/doc/html/any.html Boost.Any]]
|
||||
[def __new_iterator_concepts__ [@http://boost.org/libs/iterator/doc/new-iter-concepts.html New Iterator Concepts]]
|
||||
[def __boost_array_library__ [@http://www.boost.org/doc/html/array.html Boost.Array Library]]
|
||||
[def __boost_variant_library__ [@http://www.boost.org/doc/html/variant.html Boost.Variant Library]]
|
||||
[def __boost_tuple_library__ [@http://www.boost.org/libs/tuple/doc/tuple_users_guide.html Boost.Tuple Library]]
|
||||
[def __boost_ref__ [@http://www.boost.org/doc/html/ref.html Boost.Ref]]
|
||||
[def __boost_ref_call__ [@http://www.boost.org/doc/html/ref.html `ref`]]
|
||||
[def __boost_result_of__ [@http://www.boost.org/libs/utility/utility.htm#result_of Boost.ResultOf]]
|
||||
[def __boost_result_of_call__ [@http://www.boost.org/libs/utility/utility.htm#result_of `boost::result_of`]]
|
||||
[def __boost_enable_if__ [@http://www.boost.org/libs/utility/enable_if.html Boost.EnableIf utility]]
|
||||
[def __boost_shared_ptr_call__ [@http://www.boost.org/libs/smart_ptr/shared_ptr.htm `boost::shared_ptr`]]
|
||||
[def __std_pair_doc__ [@http://www.sgi.com/tech/stl/pair.html `std::pair`]]
|
||||
[def __std_plus_doc__ [@http://www.sgi.com/tech/stl/plus.html `std::plus`]]
|
||||
[def __std_minus_doc__ [@http://www.sgi.com/tech/stl/minus.html `std::minus`]]
|
||||
|
||||
[def __mpl_integral_constant__ [@http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html MPL Integral Constant]]
|
||||
[def __mpl_boolean_constant__ [@http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html MPL Boolean Constant]]
|
||||
[def __mpl_metafunction_class__ [@http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html MPL Metafunction Class]]
|
||||
[def __mpl_lambda_expression__ [@http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html MPL Lambda Expression]]
|
||||
|
||||
[def __lvalue__ LValue]
|
||||
[def __unspecified__ /unspecified/]
|
||||
|
||||
[def __support__ [link fusion.support Support]]
|
||||
[def __is_sequence__ [link fusion.support.is_sequence `is_sequence`]]
|
||||
[def __is_view__ [link fusion.support.is_view `is_view`]]
|
||||
[def __tag_of__ [link fusion.support.tag_of `tag_of`]]
|
||||
[def __category_of__ [link fusion.support.category_of `category_of`]]
|
||||
[def __deduce__ [link fusion.support.deduce `deduce`]]
|
||||
[def __deduce_sequence__ [link fusion.support.deduce_sequence `deduce_sequence`]]
|
||||
[def __fusion_pair__ [link fusion.support.pair `fusion::pair`]]
|
||||
[def __pair__ [link fusion.support.pair `pair`]]
|
||||
[def __fusion_make_pair__ [link fusion.support.pair `make_pair`]]
|
||||
|
||||
[def __iterator__ [link fusion.iterators Iterator]]
|
||||
[def __iterator_concepts__ [link fusion.iterators.concepts Iterator Concepts]]
|
||||
[def __forward_iterator__ [link fusion.iterators.concepts.forward_iterator Forward Iterator]]
|
||||
[def __bidirectional_iterator__ [link fusion.iterators.concepts.bidirectional_iterator Bidirectional Iterator]]
|
||||
[def __random_access_iterator__ [link fusion.iterators.concepts.random_access_iterator Random Access Iterator]]
|
||||
|
||||
[def __next__ [link fusion.iterators.functions.next `next`]]
|
||||
[def __prior__ [link fusion.iterators.functions.prior `prior`]]
|
||||
[def __advance__ [link fusion.iterators.functions.advance `advance`]]
|
||||
[def __advance_c__ [link fusion.iterators.functions.advance_c `advance_c`]]
|
||||
[def __distance__ [link fusion.iterators.functions.distance `distance`]]
|
||||
[def __deref__ [link fusion.iterators.functions.deref `deref`]]
|
||||
|
||||
[def __result_of_next__ [link fusion.iterators.metafunctions.next `result_of::next`]]
|
||||
[def __result_of_prior__ [link fusion.iterators.metafunctions.prior `result_of::prior`]]
|
||||
[def __result_of_equal_to__ [link fusion.iterators.metafunctions.equal_to `result_of::equal_to`]]
|
||||
[def __result_of_advance__ [link fusion.iterators.metafunctions.advance `result_of::advance`]]
|
||||
[def __result_of_advance_c__ [link fusion.iterators.metafunctions.advance_c `result_of::advance_c`]]
|
||||
[def __result_of_distance__ [link fusion.iterators.metafunctions.distance `result_of::distance`]]
|
||||
[def __result_of_deref__ [link fusion.iterators.metafunctions.deref `result_of::deref`]]
|
||||
[def __result_of_value_of__ [link fusion.iterators.metafunctions.value_of `result_of::value_of`]]
|
||||
[def __value_of__ [link fusion.iterators.metafunctions.value_of `value_of`]]
|
||||
|
||||
[def __sequence__ [link fusion.sequences Sequence]]
|
||||
[def __sequence_concepts__ [link fusion.sequences.concepts Sequence Concepts]]
|
||||
[def __traversal_concept__ [link fusion.sequences.concepts.traversal Sequence Traversal Concept]]
|
||||
[def __associativity_concept__ [link fusion.sequences.concepts.associativity Sequence Associativity Concept]]
|
||||
[def __forward_sequence__ [link fusion.sequences.concepts.forward_sequence Forward Sequence]]
|
||||
[def __bidirectional_sequence__ [link fusion.sequences.concepts.bidirectional_sequence Bidirectional Sequence]]
|
||||
[def __random_access_sequence__ [link fusion.sequences.concepts.random_access_sequence Random Access Sequence]]
|
||||
[def __associative_sequence__ [link fusion.sequences.concepts.associative_sequence Associative Sequence]]
|
||||
|
||||
[def __containers__ [link fusion.sequences.containers Containers]]
|
||||
[def __vector__ [link fusion.sequences.containers.vector `vector`]]
|
||||
[def __cons__ [link fusion.sequences.containers.cons `cons`]]
|
||||
[def __list__ [link fusion.sequences.containers.list `list`]]
|
||||
[def __set__ [link fusion.sequences.containers.set `set`]]
|
||||
[def __map__ [link fusion.sequences.containers.map `map`]]
|
||||
|
||||
[def __view__ [link fusion.sequences.views View]]
|
||||
[def __views__ [link fusion.sequences.views Views]]
|
||||
[def __single_view__ [link fusion.sequences.views.single_view `single_view`]]
|
||||
[def __filter_view__ [link fusion.sequences.views.filter_view `filter_view`]]
|
||||
[def __iterator_range__ [link fusion.sequences.views.iterator_range `iterator_range`]]
|
||||
[def __joint_view__ [link fusion.sequences.views.joint_view `joint_view`]]
|
||||
[def __transform_view__ [link fusion.sequences.views.transform_view `transform_view`]]
|
||||
[def __reverse_view__ [link fusion.sequences.views.reverse_view `reverse_view`]]
|
||||
[def __zip_view__ [link fusion.sequences.views.zip_view `zip_view`]]
|
||||
|
||||
[def __std_pair__ [link fusion.sequences.adapted.std__pair `std::pair`]]
|
||||
[def __boost_array__ [link fusion.sequences.adapted.boost__array `boost::array`]]
|
||||
[def __mpl_sequence__ [link fusion.sequences.adapted.mpl_sequence mpl sequence]]
|
||||
|
||||
[def __intrinsic__ [link fusion.sequences.intrinsics Intrinsic]]
|
||||
[def __intrinsics__ [link fusion.sequences.intrinsics Intrinsics]]
|
||||
[def __begin__ [link fusion.sequences.intrinsics.functions.begin `begin`]]
|
||||
[def __result_of_begin__ [link fusion.sequences.intrinsics.metafunctions.begin `result_of::begin`]]
|
||||
[def __end__ [link fusion.sequences.intrinsics.functions.end `end`]]
|
||||
[def __result_of_end__ [link fusion.sequences.intrinsics.metafunctions.end `result_of::end`]]
|
||||
[def __size__ [link fusion.sequences.intrinsics.functions.size `size`]]
|
||||
[def __result_of_size__ [link fusion.sequences.intrinsics.metafunctions.size `result_of::size`]]
|
||||
[def __empty__ [link fusion.sequences.intrinsics.functions.empty `empty`]]
|
||||
[def __result_of_empty__ [link fusion.sequences.intrinsics.metafunctions.empty `result_of::empty`]]
|
||||
[def __front__ [link fusion.sequences.intrinsics.functions.front `front`]]
|
||||
[def __result_of_front__ [link fusion.sequences.intrinsics.metafunctions.front `result_of::front`]]
|
||||
[def __back__ [link fusion.sequences.intrinsics.functions.back `back`]]
|
||||
[def __result_of_back__ [link fusion.sequences.intrinsics.metafunctions.back `result_of::back`]]
|
||||
[def __at__ [link fusion.sequences.intrinsics.functions.at `at`]]
|
||||
[def __result_of_at__ [link fusion.sequences.intrinsics.metafunctions.at `result_of::at`]]
|
||||
[def __at_c__ [link fusion.sequences.intrinsics.functions.at_c `at_c`]]
|
||||
[def __result_of_at_c__ [link fusion.sequences.intrinsics.metafunctions.at_c `result_of::at_c`]]
|
||||
[def __at_key__ [link fusion.sequences.intrinsics.functions.at_key `at_key`]]
|
||||
[def __result_of_at_key__ [link fusion.sequences.intrinsics.metafunctions.at_key `result_of::at_key`]]
|
||||
[def __has_key__ [link fusion.sequences.intrinsics.functions.has_key `has_key`]]
|
||||
[def __result_of_has_key__ [link fusion.sequences.intrinsics.metafunctions.has_key `result_of::has_key`]]
|
||||
[def __value_at_key__ [link fusion.sequences.intrinsics.metafunctions.value_at_key `value_at_key`]]
|
||||
[def __result_of_value_at__ [link fusion.sequences.intrinsics.metafunctions.value_at `result_of::value_at`]]
|
||||
[def __result_of_value_at_c__ [link fusion.sequences.intrinsics.metafunctions.value_at_c `result_of::value_at_c`]]
|
||||
[def __result_of_value_at_key__ [link fusion.sequences.intrinsics.metafunctions.value_at_key `result_of::value_at_key`]]
|
||||
|
||||
[def __conversion__ [link fusion.sequences.conversion.functions Conversion]]
|
||||
[def __result_of_conversion__ [link fusion.sequences.conversion.metafunctions Conversion Metafunctions]]
|
||||
[def __as_vector__ [link fusion.sequences.conversion.functions.as_vector `as_vector`]]
|
||||
[def __result_of_as_vector__ [link fusion.sequences.conversion.metafunctions.as_vector `result_of::as_vector`]]
|
||||
[def __as_list__ [link fusion.sequences.conversion.functions.as_list `as_list`]]
|
||||
[def __result_of_as_list__ [link fusion.sequences.conversion.metafunctions.as_list `result_of::as_list`]]
|
||||
[def __as_set__ [link fusion.sequences.conversion.functions.as_set `as_set`]]
|
||||
[def __result_of_as_set__ [link fusion.sequences.conversion.metafunctions.as_set `result_of::as_set`]]
|
||||
[def __as_map__ [link fusion.sequences.conversion.functions.as_map `as_map`]]
|
||||
[def __result_of_as_map__ [link fusion.sequences.conversion.metafunctions.as_map `result_of::as_map`]]
|
||||
|
||||
[def __generation__ [link fusion.sequences.generation.functions Generation]]
|
||||
[def __result_of_generation__ [link fusion.sequences.generation.metafunctions Generation Metafunctions]]
|
||||
[def __make_vector__ [link fusion.sequences.generation.functions.make_vector `make_vector`]]
|
||||
[def __result_of_make_vector__ [link fusion.sequences.generation.metafunctions.make_vector `result_of::make_vector`]]
|
||||
[def __vector_tie__ [link fusion.sequences.generation.functions.vector_tie `vector_tie`]]
|
||||
[def __map_tie__ [link fusion.sequences.generation.functions.vector_tie `map_tie`]]
|
||||
[def __result_of_vector_tie__ [link fusion.sequences.generation.metafunctions.vector_tie `result_of::vector_tie`]]
|
||||
[def __make_vector__ [link fusion.sequences.generation.functions.make_vector `make_vector`]]
|
||||
[def __result_of_make_vector__ [link fusion.sequences.generation.metafunctions.make_vector `result_of::make_vector`]]
|
||||
[def __make_cons__ [link fusion.sequences.generation.functions.make_cons `make_cons`]]
|
||||
[def __result_of_make_cons__ [link fusion.sequences.generation.metafunctions.make_cons `result_of::make_cons`]]
|
||||
[def __make_list__ [link fusion.sequences.generation.functions.make_list `make_list`]]
|
||||
[def __result_of_make_list__ [link fusion.sequences.generation.metafunctions.make_list `result_of::make_list`]]
|
||||
[def __make_set__ [link fusion.sequences.generation.functions.make_set `make_set`]]
|
||||
[def __result_of_make_set__ [link fusion.sequences.generation.metafunctions.make_set `result_of::make_set`]]
|
||||
[def __make_map__ [link fusion.sequences.generation.functions.make_map `make_map`]]
|
||||
[def __result_of_make_map__ [link fusion.sequences.generation.metafunctions.make_map `result_of::make_map`]]
|
||||
[def __list_tie__ [link fusion.sequences.generation.functions.list_tie `list_tie`]]
|
||||
[def __result_of_list_tie__ [link fusion.sequences.generation.metafunctions.list_tie `result_of::list_tie`]]
|
||||
|
||||
[def __out__ [link fusion.sequences.operators.i_o.out out]]
|
||||
[def __in__ [link fusion.sequences.operators.i_o.in in]]
|
||||
[def __eq__ [link fusion.sequences.operators.comparison.equal equal]]
|
||||
[def __neq__ [link fusion.sequences.operators.comparison.not_equal not equal]]
|
||||
[def __lt__ [link fusion.sequences.operators.comparison.less_than less than]]
|
||||
[def __lte__ [link fusion.sequences.operators.comparison.less_than_equal less than equal]]
|
||||
[def __gt__ [link fusion.sequences.operators.comparison.greater_than greater than]]
|
||||
[def __gte__ [link fusion.sequences.operators.comparison.greater_than_equal greater than equal]]
|
||||
|
||||
[def __algorithm__ [link fusion.algorithms Algorithm]]
|
||||
[def __algorithms__ [link fusion.algorithms Algorithms]]
|
||||
[def __fold__ [link fusion.algorithms.iteration.functions.fold `fold`]]
|
||||
[def __result_of_fold__ [link fusion.algorithms.iteration.metafunctions.fold `result_of::fold`]]
|
||||
[def __accumulate__ [link fusion.algorithms.iteration.functions.accumulate `accumulate`]]
|
||||
[def __result_of_accumulate__ [link fusion.algorithms.iteration.metafunctions.accumulate `result_of::accumulate`]]
|
||||
[def __for_each__ [link fusion.algorithms.iteration.functions.for_each `for_each`]]
|
||||
[def __result_of_for_each__ [link fusion.algorithms.iteration.metafunctions.for_each `result_of::for_each`]]
|
||||
[def __any__ [link fusion.algorithms.query.functions.any `any`]]
|
||||
[def __result_of_any__ [link fusion.algorithms.query.metafunctions.any `result_of::any`]]
|
||||
[def __all__ [link fusion.algorithms.query.functions.all `all`]]
|
||||
[def __result_of_all__ [link fusion.algorithms.query.metafunctions.all `result_of::all`]]
|
||||
[def __none__ [link fusion.algorithms.query.functions.none `none`]]
|
||||
[def __result_of_none__ [link fusion.algorithms.query.metafunctions.none `result_of::none`]]
|
||||
[def __find__ [link fusion.algorithms.query.functions.find `find`]]
|
||||
[def __result_of_find__ [link fusion.algorithms.query.metafunctions.find `result_of::find`]]
|
||||
[def __find_if__ [link fusion.algorithms.query.functions.find_if `find_if`]]
|
||||
[def __result_of_find_if__ [link fusion.algorithms.query.metafunctions.find_if `result_of::find_if`]]
|
||||
[def __count__ [link fusion.algorithms.query.functions.count `count`]]
|
||||
[def __result_of_count__ [link fusion.algorithms.query.metafunctions.count `result_of::count`]]
|
||||
[def __count_if__ [link fusion.algorithms.query.functions.count_if `count_if`]]
|
||||
[def __result_of_count_if__ [link fusion.algorithms.query.metafunctions.count_if `result_of::count_if`]]
|
||||
[def __filter__ [link fusion.algorithms.transformation.functions.filter `filter`]]
|
||||
[def __result_of_filter__ [link fusion.algorithms.transformation.metafunctions.filter `result_of::filter`]]
|
||||
[def __filter_if__ [link fusion.algorithms.transformation.functions.filter_if `filter_if`]]
|
||||
[def __result_of_filter_if__ [link fusion.algorithms.transformation.metafunctions.filter_if `result_of::filter_if`]]
|
||||
[def __transform__ [link fusion.algorithms.transformation.functions.transform `transform`]]
|
||||
[def __result_of_transform__ [link fusion.algorithms.transformation.metafunctions.transform `result_of::transform`]]
|
||||
[def __replace__ [link fusion.algorithms.transformation.functions.replace `replace`]]
|
||||
[def __result_of_replace__ [link fusion.algorithms.transformation.metafunctions.replace `result_of::replace`]]
|
||||
[def __replace_if__ [link fusion.algorithms.transformation.functions.replace_if `replace_if`]]
|
||||
[def __result_of_replace_if__ [link fusion.algorithms.transformation.metafunctions.replace_if `result_of::replace_if`]]
|
||||
[def __remove__ [link fusion.algorithms.transformation.functions.remove `remove`]]
|
||||
[def __result_of_remove__ [link fusion.algorithms.transformation.metafunctions.remove `result_of::remove`]]
|
||||
[def __remove_if__ [link fusion.algorithms.transformation.functions.remove_if `remove_if`]]
|
||||
[def __result_of_remove_if__ [link fusion.algorithms.transformation.metafunctions.remove_if `result_of::remove_if`]]
|
||||
[def __reverse__ [link fusion.algorithms.transformation.functions.reverse `reverse`]]
|
||||
[def __result_of_reverse__ [link fusion.algorithms.transformation.metafunctions.reverse `result_of::reverse`]]
|
||||
[def __clear__ [link fusion.algorithms.transformation.functions.clear `clear`]]
|
||||
[def __result_of_clear__ [link fusion.algorithms.transformation.metafunctions.clear `result_of::clear`]]
|
||||
[def __erase__ [link fusion.algorithms.transformation.functions.erase `erase`]]
|
||||
[def __result_of_erase__ [link fusion.algorithms.transformation.metafunctions.erase `result_of::erase`]]
|
||||
[def __erase_key__ [link fusion.algorithms.transformation.functions.erase_key `erase_key`]]
|
||||
[def __result_of_erase_key__ [link fusion.algorithms.transformation.metafunctions.erase_key `result_of::erase_key`]]
|
||||
[def __insert__ [link fusion.algorithms.transformation.functions.insert `insert`]]
|
||||
[def __result_of_insert__ [link fusion.algorithms.transformation.metafunctions.insert `result_of::insert`]]
|
||||
[def __insert_range__ [link fusion.algorithms.transformation.functions.insert_range `insert_range`]]
|
||||
[def __result_of_insert_range__ [link fusion.algorithms.transformation.metafunctions.insert_range `result_of::insert_range`]]
|
||||
[def __join__ [link fusion.algorithms.transformation.functions.join `join`]]
|
||||
[def __result_of_join__ [link fusion.algorithms.transformation.metafunctions.join `result_of::join`]]
|
||||
[def __zip__ [link fusion.algorithms.transformation.functions.zip `zip`]]
|
||||
[def __result_of_zip__ [link fusion.algorithms.transformation.metafunctions.zip `result_of::zip`]]
|
||||
[def __pop_back__ [link fusion.algorithms.transformation.functions.pop_back `pop_back`]]
|
||||
[def __result_of_pop_back__ [link fusion.algorithms.transformation.metafunctions.pop_back `result_of::pop_back`]]
|
||||
[def __pop_front__ [link fusion.algorithms.transformation.functions.pop_front `pop_front`]]
|
||||
[def __result_of_pop_front__ [link fusion.algorithms.transformation.metafunctions.pop_front `result_of::pop_front`]]
|
||||
[def __push_back__ [link fusion.algorithms.transformation.functions.push_back `push_back`]]
|
||||
[def __result_of_push_back__ [link fusion.algorithms.transformation.metafunctions.push_back `result_of::push_back`]]
|
||||
[def __push_front__ [link fusion.algorithms.transformation.functions.push_front `push_front`]]
|
||||
[def __result_of_push_front__ [link fusion.algorithms.transformation.metafunctions.push_front `result_of::push_front`]]
|
||||
|
||||
[def __tr1_tuple_pair__ [link fusion.tuples.pairs `TR1 and std::pair`]]
|
||||
[def __tuple_get__ [link fusion.tuples.class_template_tuple.element_access `get`]]
|
||||
|
||||
[def __callable_obj__ [link fusion.functional.concepts.callable Callable Object]]
|
||||
[def __def_callable_obj__ [link fusion.functional.concepts.def_callable Deferred Callable Object]]
|
||||
[def __reg_callable_obj__ [link fusion.functional.concepts.reg_callable Regular Callable Object]]
|
||||
[def __poly_func_obj__ [link fusion.functional.concepts.poly Polymorphic Function Object]]
|
||||
[def __functional_adapters__ [link fusion.functional.adapters functional adapters]]
|
||||
[def __fused__ [link fusion.functional.adapters.fused `fused`]]
|
||||
[def __fused_procedure__ [link fusion.functional.adapters.fused_procedure `fused_procedure`]]
|
||||
[def __fused_function_object__ [link fusion.functional.adapters.fused_function_object `fused_function_object`]]
|
||||
[def __unfused_generic__ [link fusion.functional.adapters.unfused_generic `unfused_generic`]]
|
||||
[def __unfused_lvalue_args__ [link fusion.functional.adapters.unfused_lvalue_args `unfused_lvalue_args`]]
|
||||
[def __unfused_rvalue_args__ [link fusion.functional.adapters.unfused_rvalue_args `unfused_rvalue_args`]]
|
||||
[def __unfused_typed__ [link fusion.functional.adapters.unfused_typed `unfused_typed`]]
|
||||
[def __invoke__ [link fusion.functional.invocation.functions.invoke `invoke`]]
|
||||
[def __invoke_procedure__ [link fusion.functional.invocation.functions.invoke_proc `invoke_procedure`]]
|
||||
[def __invoke_function_object__ [link fusion.functional.invocation.functions.invoke_fobj `invoke_function_object`]]
|
||||
[def __make_fused__ [link fusion.functional.generation.functions.mk_fused `make_fused`]]
|
||||
[def __make_fused_procedure__ [link fusion.functional.generation.functions.mk_fused_proc `make_fused_procedure`]]
|
||||
[def __make_fused_function_object__ [link fusion.functional.generation.functions.mk_fused_fobj `make_fused_function_object`]]
|
||||
[def __make_unfused_generic__ [link fusion.functional.generation.functions.mk_unfused_genrc `make_unfused_generic`]]
|
||||
[def __make_unfused_rvalue_args__ [link fusion.functional.generation.functions.mk_unfused_rvargs `make_unfused_rvalue_args`]]
|
||||
[def __make_unfused_lvalue_args__ [link fusion.functional.generation.functions.mk_unfused_lvargs `make_unfused_lvalue_args`]]
|
||||
[def __result_of_invoke__ [link fusion.functional.invocation.metafunctions.invoke `result_of::invoke`]]
|
||||
[def __result_of_invoke_procedure__ [link fusion.functional.invocation.metafunctions.invoke_proc `result_of::invoke_procedure`]]
|
||||
[def __result_of_invoke_function_object__ [link fusion.functional.invocation.metafunctions.invoke_fobj `result_of::invoke_function_object`]]
|
||||
[def __result_of_make_fused__ [link fusion.functional.generation.metafunctions.mk_fused `make_fused`]]
|
||||
[def __result_of_make_fused_procedure__ [link fusion.functional.generation.metafunctions.mk_fused_proc `make_fused_procedure`]]
|
||||
[def __result_of_make_fused_function_object__ [link fusion.functional.generation.metafunctions.mk_fused_fobj `make_fused_function_object`]]
|
||||
[def __result_of_make_unfused_generic__ [link fusion.functional.generation.metafunctions.mk_unfused_genrc `make_unfused_generic`]]
|
||||
[def __result_of_make_unfused_rvalue_args__ [link fusion.functional.generation.metafunctions.mk_unfused_rvargs `make_unfused_rvalue_args`]]
|
||||
[def __result_of_make_unfused_lvalue_args__ [link fusion.functional.generation.metafunctions.mk_unfused_lvargs `make_unfused_lvalue_args`]]
|
||||
|
||||
[def __recursive_inline__ [link fusion.notes.recursive_inlined_functions Recursive Inlined Functions]]
|
||||
[def __overloaded_functions__ [link fusion.notes.overloaded_functions Overloaded Functions]]
|
||||
[def __tag_dispatching__ [link fusion.notes.tag_dispatching /tag dispatching/]]
|
||||
[def __element_conversion__ [link fusion.notes.element_conversion /element conversion/]]
|
||||
[def __see_element_conversion__ [link fusion.notes.element_conversion /see element conversion/]]
|
||||
[def __note_boost_ref__ [link fusion.notes.boost__ref `boost::ref`]]
|
||||
|
||||
[def __quick_start__ [link fusion.quick_start Quick Start]]
|
||||
[def __organization__ [link fusion.organization Orgainization]]
|
||||
[def __extension__ [link fusion.extension Extension]]
|
||||
|
||||
[include preface.qbk]
|
||||
[include introduction.qbk]
|
||||
[include quick_start.qbk]
|
||||
[include organization.qbk]
|
||||
[include support.qbk]
|
||||
[include iterators.qbk]
|
||||
[include sequences.qbk]
|
||||
[include algorithms.qbk]
|
||||
[include tuples.qbk]
|
||||
[include extension.qbk]
|
||||
[include functional.qbk]
|
||||
[include notes.qbk]
|
||||
[include changelog.qbk]
|
||||
[include acknowledgements.qbk]
|
||||
[include references.qbk]
|
||||
|
||||
511
doc/html/boostbook.css
Executable file
511
doc/html/boostbook.css
Executable file
@@ -0,0 +1,511 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2004 Joel de Guzman
|
||||
http://spirit.sourceforge.net/
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
|
||||
/*=============================================================================
|
||||
Body defaults
|
||||
=============================================================================*/
|
||||
|
||||
body
|
||||
{
|
||||
margin: 1em;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Paragraphs
|
||||
=============================================================================*/
|
||||
|
||||
p
|
||||
{
|
||||
text-align: left;
|
||||
font-size: 10pt;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Program listings
|
||||
=============================================================================*/
|
||||
|
||||
/* Code on paragraphs */
|
||||
p tt.computeroutput
|
||||
{
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
pre.synopsis
|
||||
{
|
||||
font-size: 90%;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
font-size: 9pt;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
/* Program listings in tables don't get borders */
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
margin: 0pc 0pc 0pc 0pc;
|
||||
padding: 0pc 0pc 0pc 0pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Headings
|
||||
=============================================================================*/
|
||||
|
||||
h1, h2, h3, h4, h5, h6
|
||||
{
|
||||
text-align: left;
|
||||
margin: 1em 0em 0.5em 0em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 { font: 140% }
|
||||
h2 { font: bold 140% }
|
||||
h3 { font: bold 130% }
|
||||
h4 { font: bold 120% }
|
||||
h5 { font: italic 110% }
|
||||
h6 { font: italic 100% }
|
||||
|
||||
/* Top page titles */
|
||||
title,
|
||||
h1.title,
|
||||
h2.title
|
||||
h3.title,
|
||||
h4.title,
|
||||
h5.title,
|
||||
h6.title,
|
||||
.refentrytitle
|
||||
{
|
||||
font-weight: bold;
|
||||
margin-bottom: 1pc;
|
||||
}
|
||||
|
||||
h1.title { font-size: 140% }
|
||||
h2.title { font-size: 140% }
|
||||
h3.title { font-size: 130% }
|
||||
h4.title { font-size: 120% }
|
||||
h5.title { font-size: 110% }
|
||||
h6.title { font-size: 100% }
|
||||
|
||||
.section h1
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
font-size: 140%;
|
||||
}
|
||||
|
||||
.section h2 { font-size: 140% }
|
||||
.section h3 { font-size: 130% }
|
||||
.section h4 { font-size: 120% }
|
||||
.section h5 { font-size: 110% }
|
||||
.section h6 { font-size: 100% }
|
||||
|
||||
/* Code on titles */
|
||||
h1 tt.computeroutput { font-size: 140% }
|
||||
h2 tt.computeroutput { font-size: 140% }
|
||||
h3 tt.computeroutput { font-size: 130% }
|
||||
h4 tt.computeroutput { font-size: 120% }
|
||||
h5 tt.computeroutput { font-size: 110% }
|
||||
h6 tt.computeroutput { font-size: 100% }
|
||||
|
||||
/*=============================================================================
|
||||
Author
|
||||
=============================================================================*/
|
||||
|
||||
h3.author
|
||||
{
|
||||
font-size: 100%
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Lists
|
||||
=============================================================================*/
|
||||
|
||||
li
|
||||
{
|
||||
font-size: 10pt;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Unordered lists */
|
||||
ul
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Ordered lists */
|
||||
ol
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Links
|
||||
=============================================================================*/
|
||||
|
||||
a
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Spirit style navigation
|
||||
=============================================================================*/
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.spirit-nav a
|
||||
{
|
||||
color: white;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.spirit-nav img
|
||||
{
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Table of contents
|
||||
=============================================================================*/
|
||||
|
||||
.toc
|
||||
{
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.1pc 1pc 0.1pc 1pc;
|
||||
font-size: 80%;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.boost-toc
|
||||
{
|
||||
float: right;
|
||||
padding: 0.5pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Tables
|
||||
=============================================================================*/
|
||||
|
||||
.table-title,
|
||||
div.table p.title
|
||||
{
|
||||
margin-left: 4%;
|
||||
padding-right: 0.5em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
width: 92%;
|
||||
margin-left: 4%;
|
||||
margin-right: 4%;
|
||||
}
|
||||
|
||||
div.informaltable table,
|
||||
div.table table
|
||||
{
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* Table Cells */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
padding: 0.5em;
|
||||
text-align: left;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
padding: 0.5em 0.5em 0.5em 0.5em;
|
||||
border: 1pt solid white;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Blurbs
|
||||
=============================================================================*/
|
||||
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
p.blurb
|
||||
{
|
||||
font-size: 9pt; /* A little bit smaller than the main text */
|
||||
line-height: 1.2;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
p.blurb img
|
||||
{
|
||||
padding: 1pt;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Variable Lists
|
||||
=============================================================================*/
|
||||
|
||||
/* Make the terms in definition lists bold */
|
||||
div.variablelist dl dt,
|
||||
span.term
|
||||
{
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td
|
||||
{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 0em 2em 0em 0em;
|
||||
font-size: 10pt;
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
div.variablelist dl dt
|
||||
{
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
div.variablelist dl dd
|
||||
{
|
||||
margin: 0em 0em 0.5em 2em;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td p,
|
||||
div.variablelist dl dd p
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Misc
|
||||
=============================================================================*/
|
||||
|
||||
/* Title of books and articles in bibliographies */
|
||||
span.title
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.underline
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.strikethrough
|
||||
{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
div div.legalnotice p
|
||||
{
|
||||
text-align: left
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Colors
|
||||
=============================================================================*/
|
||||
|
||||
@media screen
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: #005a9c;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: #9c5a9c;
|
||||
}
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
|
||||
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
|
||||
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* Syntax Highlighting */
|
||||
.keyword { color: #0000AA; }
|
||||
.identifier { color: #000000; }
|
||||
.special { color: #707070; }
|
||||
.preprocessor { color: #402080; }
|
||||
.char { color: teal; }
|
||||
.comment { color: #800000; }
|
||||
.string { color: teal; }
|
||||
.number { color: teal; }
|
||||
.white_bkd { background-color: #FFFFFF; }
|
||||
.dk_grey_bkd { background-color: #999999; }
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
.copyright
|
||||
{
|
||||
color: #666666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div div.legalnotice p
|
||||
{
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Blurbs */
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
p.blurb
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
background-color: #F0F0F0;
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
color: #00A000;
|
||||
}
|
||||
}
|
||||
|
||||
@media print
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
border: 1px solid gray;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
53
doc/html/fusion/acknowledgements.html
Normal file
53
doc/html/fusion/acknowledgements.html
Normal file
@@ -0,0 +1,53 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.acknowledgements"></a><a 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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="change_log.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
110
doc/html/fusion/algorithms.html
Normal file
110
doc/html/fusion/algorithms.html
Normal file
@@ -0,0 +1,110 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Algorithms</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="sequences/operators/comparison/greater_than_equal.html" title="greater
|
||||
than equal">
|
||||
<link rel="next" href="algorithms/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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">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="sequences/operators/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.algorithms"></a><a href="algorithms.html" title="Algorithms">Algorithms</a></h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="algorithms/iteration.html">Iteration</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithms/iteration/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithms/iteration/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="algorithms/query.html">Query</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithms/query/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithms/query/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="algorithms/transformation.html">Transformation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithms/transformation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithms/transformation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<a name="fusion.algorithms.lazy_evaluation"></a><h3>
|
||||
<a name="id572828"></a>
|
||||
<a href="algorithms.html#fusion.algorithms.lazy_evaluation">Lazy Evaluation</a>
|
||||
</h3>
|
||||
<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 href="algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> algorithm does not actually
|
||||
return a transformed version of the original sequence. <a href="algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> returns a <a href="sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>. This view holds a
|
||||
reference to the original sequence plus the transform function. Iteration over
|
||||
the <a href="sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></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.algorithms.sequence_extension"></a><h3>
|
||||
<a name="id572975"></a>
|
||||
<a href="algorithms.html#fusion.algorithms.sequence_extension">Sequence Extension</a>
|
||||
</h3>
|
||||
<p>
|
||||
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a href="algorithms.html" title="Algorithms">Algorithms</a>
|
||||
return <a href="sequences/views.html" title="Views">Views</a> also allows operations
|
||||
such as <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> to be totally generic. In
|
||||
Fusion, <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> is actually a generic algorithm
|
||||
that works on all sequences. Given an input sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
|
||||
and a value <tt class="computeroutput"><span class="identifier">x</span></tt>, Fusion's <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> algorithm simply returns
|
||||
a <a href="sequences/views/joint_view.html" title="joint_view"><tt class="computeroutput"><span class="identifier">joint_view</span></tt></a>:
|
||||
a view that holds a reference to the original sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
|
||||
and the value <tt class="computeroutput"><span class="identifier">x</span></tt>. 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. However, an important caveat is that the
|
||||
result of a sequence extending operation like <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> does not retain the properties
|
||||
of the original sequence such as associativity of <span class="underline">_set</span>_s.
|
||||
To regain the original sequence, <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
|
||||
functions are provided. You may use one of the <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
|
||||
functions to convert back to the original sequence type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.header"></a><h3>
|
||||
<a name="id573200"></a>
|
||||
<a href="algorithms.html#fusion.algorithms.header">Header</a>
|
||||
</h3>
|
||||
<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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
41
doc/html/fusion/algorithms/concepts.html
Normal file
41
doc/html/fusion/algorithms/concepts.html
Normal file
@@ -0,0 +1,41 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Concepts</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<link rel="prev" href="../algorithms.html" title="Algorithms">
|
||||
<link rel="next" href="concepts/poly.html" title=" Polymorphic Function
|
||||
Object">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/poly.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
|
||||
<div class="toc"><dl><dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
|
||||
Object</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"><small>Copyright © 2001-2005 Joel de Guzman, Dan Marsden</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/poly.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
96
doc/html/fusion/algorithms/concepts/poly.html
Normal file
96
doc/html/fusion/algorithms/concepts/poly.html
Normal file
@@ -0,0 +1,96 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Polymorphic Function
|
||||
Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="../concepts.html" title="Concepts">
|
||||
<link rel="next" href="../iteration.html" title="Iteration">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../iteration.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.concepts.poly"></a><a href="poly.html" title=" Polymorphic Function
|
||||
Object"> Polymorphic Function
|
||||
Object</a></h4></div></div></div>
|
||||
<a name="fusion.algorithms.concepts.poly.description"></a><h5>
|
||||
<a name="id553170"></a>
|
||||
<a href="poly.html#fusion.algorithms.concepts.poly.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A type of function object with a nested metafunction <tt class="computeroutput"><span class="identifier">result</span></tt>.
|
||||
<tt class="computeroutput"><span class="identifier">result</span></tt> returns the result
|
||||
type of calling the function object, given the argument types.
|
||||
</p>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd>
|
||||
A Polymorphic Function Object type
|
||||
</dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd>
|
||||
A Polymorphic Function Object
|
||||
</dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span></tt></span></dt>
|
||||
<dd>
|
||||
Arbitrary types
|
||||
</dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">t1</span>
|
||||
<span class="special">...</span><span class="identifier">tN</span></tt></span></dt>
|
||||
<dd>
|
||||
Objects with types <tt class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></tt>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.algorithms.concepts.poly.expression_requirements"></a><h5>
|
||||
<a name="id553345"></a>
|
||||
<a href="poly.html#fusion.algorithms.concepts.poly.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>Expression</th>
|
||||
<th>Return Type</th>
|
||||
<th>Runtime
|
||||
Complexity</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td><tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">tN</span><span class="special">)</span></tt></td>
|
||||
<td><tt class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></tt></td>
|
||||
<td>Unspecified</td>
|
||||
</tr></tbody>
|
||||
</table></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"><small>Copyright © 2001-2005 Joel de Guzman, Dan Marsden</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../iteration.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
54
doc/html/fusion/algorithms/iteration.html
Normal file
54
doc/html/fusion/algorithms/iteration.html
Normal file
@@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Iteration</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<link rel="prev" href="../algorithms.html" title="Algorithms">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">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="../algorithms.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.iteration"></a><a 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.algorithms.iteration.header"></a><h4>
|
||||
<a name="id573309"></a>
|
||||
<a href="iteration.html#fusion.algorithms.iteration.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">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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
44
doc/html/fusion/algorithms/iteration/functions.html
Normal file
44
doc/html/fusion/algorithms/iteration/functions.html
Normal file
@@ -0,0 +1,44 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions"></a><a 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/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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
198
doc/html/fusion/algorithms/iteration/functions/accumulate.html
Normal file
198
doc/html/fusion/algorithms/iteration/functions/accumulate.html
Normal file
@@ -0,0 +1,198 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>accumulate</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.description"></a><h6>
|
||||
<a name="id575113"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
|
||||
state, and binary function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
accumulate repeatedly applies binary <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
|
||||
and the previous state.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.synopsis"></a><h6>
|
||||
<a name="id575193"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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 href="../metafunctions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><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> <span class="identifier">accumulate</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">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="keyword">const</span><span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id575454"></a><p class="title"><b>Table 1.34. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span>
|
||||
<span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><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">initial_state</span><span class="special">)))</span></tt> must be a valid expression for
|
||||
each element <tt class="computeroutput"><span class="identifier">e1</span></tt>
|
||||
to <tt class="computeroutput"><span class="identifier">eN</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">initial_state</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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">S</span><span class="special">)>::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.expression_semantics"></a><h6>
|
||||
<a name="id575906"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">accumulate</span><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"><b>Return type</b></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><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">initial_state</span><span class="special">)))</span></tt>
|
||||
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.complexity"></a><h6>
|
||||
<a name="id576116"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.header"></a><h6>
|
||||
<a name="id576212"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.example"></a><h6>
|
||||
<a name="id576320"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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">T</span><span class="special">&</span> <span class="identifier">t</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="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><span class="identifier">t</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a><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> <span class="string">"12"</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
198
doc/html/fusion/algorithms/iteration/functions/fold.html
Normal file
198
doc/html/fusion/algorithms/iteration/functions/fold.html
Normal file
@@ -0,0 +1,198 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fold</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.description"></a><h6>
|
||||
<a name="id573446"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
|
||||
state, and binary function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
fold repeatedly applies binary <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
|
||||
and the previous state.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.synopsis"></a><h6>
|
||||
<a name="id573525"></a>
|
||||
<a href="fold.html#fusion.algorithms.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 href="../metafunctions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><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> <span class="identifier">fold</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">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="keyword">const</span><span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id573784"></a><p class="title"><b>Table 1.33. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>,<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt> must be a valid expression for
|
||||
each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current
|
||||
state <tt class="computeroutput"><span class="identifier">s</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">initial_state</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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">S</span><span class="special">)>::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.expression_semantics"></a><h6>
|
||||
<a name="id574194"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">fold</span><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"><b>Return type</b></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><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">initial_state</span><span class="special">)))</span></tt>
|
||||
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.complexity"></a><h6>
|
||||
<a name="id574404"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.header"></a><h6>
|
||||
<a name="id574499"></a>
|
||||
<a href="fold.html#fusion.algorithms.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><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.example"></a><h6>
|
||||
<a name="id574606"></a>
|
||||
<a href="fold.html#fusion.algorithms.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">T</span><span class="special">&</span> <span class="identifier">t</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="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><span class="identifier">t</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">...</span>
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a><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> <span class="string">"12"</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
174
doc/html/fusion/algorithms/iteration/functions/for_each.html
Normal file
174
doc/html/fusion/algorithms/iteration/functions/for_each.html
Normal file
@@ -0,0 +1,174 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>for_each</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.description"></a><h6>
|
||||
<a name="id576823"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Applies a unary function object to each element of a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.synopsis"></a><h6>
|
||||
<a name="id576855"></a>
|
||||
<a href="for_each.html#fusion.algorithms.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 href="../metafunctions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></tt></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="keyword">const</span><span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id577058"></a><p class="title"><b>Table 1.35. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression for
|
||||
each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a 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>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.expression_semantics"></a><h6>
|
||||
<a name="id577258"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Calls <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.complexity"></a><h6>
|
||||
<a name="id577417"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.header"></a><h6>
|
||||
<a name="id577512"></a>
|
||||
<a href="for_each.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.example"></a><h6>
|
||||
<a name="id577619"></a>
|
||||
<a href="for_each.html#fusion.algorithms.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 href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
44
doc/html/fusion/algorithms/iteration/metafunctions.html
Normal file
44
doc/html/fusion/algorithms/iteration/metafunctions.html
Normal file
@@ -0,0 +1,44 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.iteration.metafunctions"></a><a 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/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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,176 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>accumulate</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.description"></a><h6>
|
||||
<a name="id578935"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.synopsis"></a><h6>
|
||||
<a name="id578985"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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> <span class="identifier">accumulate</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="id579121"></a><p class="title"><b>Table 1.37. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">State</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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">S</span><span class="special">)>::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on forward traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
|
||||
<a name="id579472"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><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"><b>Return type</b></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
|
||||
<tt class="computeroutput"><span class="identifier">accumulate</span></tt> to a sequence
|
||||
of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with
|
||||
an initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
|
||||
and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.complexity"></a><h6>
|
||||
<a name="id579649"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.header"></a><h6>
|
||||
<a name="id579744"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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><span class="identifier">accumulate</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
176
doc/html/fusion/algorithms/iteration/metafunctions/fold.html
Normal file
176
doc/html/fusion/algorithms/iteration/metafunctions/fold.html
Normal file
@@ -0,0 +1,176 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fold</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.description"></a><h6>
|
||||
<a name="id578002"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.synopsis"></a><h6>
|
||||
<a name="id578051"></a>
|
||||
<a href="fold.html#fusion.algorithms.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> <span class="identifier">fold</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="id578187"></a><p class="title"><b>Table 1.36. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">State</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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">S</span><span class="special">)>::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on forward traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.expression_semantics"></a><h6>
|
||||
<a name="id578537"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><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"><b>Return type</b></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
|
||||
<tt class="computeroutput"><span class="identifier">fold</span></tt> to a sequence of
|
||||
type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with an
|
||||
initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
|
||||
and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.complexity"></a><h6>
|
||||
<a name="id578711"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.header"></a><h6>
|
||||
<a name="id578806"></a>
|
||||
<a href="fold.html#fusion.algorithms.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><span class="identifier">fold</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
158
doc/html/fusion/algorithms/iteration/metafunctions/for_each.html
Normal file
158
doc/html/fusion/algorithms/iteration/metafunctions/for_each.html
Normal file
@@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>for_each</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
|
||||
<p>
|
||||
A metafunction returning the result type of applying <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> to a sequence. The
|
||||
return type of <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.description"></a><h6>
|
||||
<a name="id579927"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.synopsis"></a><h6>
|
||||
<a name="id579954"></a>
|
||||
<a href="for_each.html#fusion.algorithms.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="id580076"></a><p class="title"><b>Table 1.38. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.expression_semantics"></a><h6>
|
||||
<a name="id580217"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> for a sequence of type
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
|
||||
function object <tt class="computeroutput"><span class="identifier">F</span></tt>. The
|
||||
return type is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.complexity"></a><h6>
|
||||
<a name="id580398"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.header"></a><h6>
|
||||
<a name="id580429"></a>
|
||||
<a href="for_each.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
53
doc/html/fusion/algorithms/query.html
Normal file
53
doc/html/fusion/algorithms/query.html
Normal file
@@ -0,0 +1,53 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Query</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.query"></a><a 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.algorithms.query.header"></a><h4>
|
||||
<a name="id580564"></a>
|
||||
<a href="query.html#fusion.algorithms.query.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">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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
48
doc/html/fusion/algorithms/query/functions.html
Normal file
48
doc/html/fusion/algorithms/query/functions.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.query.functions"></a><a 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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
177
doc/html/fusion/algorithms/query/functions/all.html
Normal file
177
doc/html/fusion/algorithms/query/functions/all.html
Normal file
@@ -0,0 +1,177 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>all</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.all.description"></a><h6>
|
||||
<a name="id581898"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
|
||||
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">all</span></tt> returns true if
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for every
|
||||
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.all.synopsis"></a><h6>
|
||||
<a name="id581988"></a>
|
||||
<a href="all.html#fusion.algorithms.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 href="../metafunctions/all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></tt></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="id582182"></a><p class="title"><b>Table 1.40. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
|
||||
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.all.expression_semantics"></a><h6>
|
||||
<a name="id582383"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns true if and only
|
||||
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
|
||||
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for every
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.all.complexity"></a><h6>
|
||||
<a name="id582552"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.all.header"></a><h6>
|
||||
<a name="id582636"></a>
|
||||
<a href="all.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.all.example"></a><h6>
|
||||
<a name="id582742"></a>
|
||||
<a href="all.html#fusion.algorithms.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 href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
177
doc/html/fusion/algorithms/query/functions/any.html
Normal file
177
doc/html/fusion/algorithms/query/functions/any.html
Normal file
@@ -0,0 +1,177 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>any</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.any.description"></a><h6>
|
||||
<a name="id580699"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
|
||||
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">any</span></tt> returns true if
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for at
|
||||
least one element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.any.synopsis"></a><h6>
|
||||
<a name="id580788"></a>
|
||||
<a href="any.html#fusion.algorithms.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 href="../metafunctions/any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></tt></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="id580982"></a><p class="title"><b>Table 1.39. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression, convertible
|
||||
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.any.expression_semantics"></a><h6>
|
||||
<a name="id581183"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.expression_semantics">Expression
|
||||
semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns true if and only
|
||||
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
|
||||
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for some
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.any.complexity"></a><h6>
|
||||
<a name="id581354"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.any.header"></a><h6>
|
||||
<a name="id581438"></a>
|
||||
<a href="any.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.any.example"></a><h6>
|
||||
<a name="id581543"></a>
|
||||
<a href="any.html#fusion.algorithms.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 href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
164
doc/html/fusion/algorithms/query/functions/count.html
Normal file
164
doc/html/fusion/algorithms/query/functions/count.html
Normal file
@@ -0,0 +1,164 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.count.description"></a><h6>
|
||||
<a name="id586595"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the number of elements of a given type within a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count.synopsis"></a><h6>
|
||||
<a name="id586626"></a>
|
||||
<a href="count.html#fusion.algorithms.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 href="../metafunctions/count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></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="id586834"></a><p class="title"><b>Table 1.44. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></tt>
|
||||
must be a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
|
||||
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to count
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.count.expression_semantics"></a><h6>
|
||||
<a name="id587032"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
|
||||
of type <tt class="computeroutput"><span class="identifier">T</span></tt> and equal to
|
||||
<tt class="computeroutput"><span class="identifier">t</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count.complexity"></a><h6>
|
||||
<a name="id587176"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count.header"></a><h6>
|
||||
<a name="id587260"></a>
|
||||
<a href="count.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.count.example"></a><h6>
|
||||
<a name="id587366"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
163
doc/html/fusion/algorithms/query/functions/count_if.html
Normal file
163
doc/html/fusion/algorithms/query/functions/count_if.html
Normal file
@@ -0,0 +1,163 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.count_if.description"></a><h6>
|
||||
<a name="id587583"></a>
|
||||
<a href="count_if.html#fusion.algorithms.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 <tt class="computeroutput"><span class="keyword">true</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count_if.synopsis"></a><h6>
|
||||
<a name="id587627"></a>
|
||||
<a href="count_if.html#fusion.algorithms.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 href="../metafunctions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></tt></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="id587824"></a><p class="title"><b>Table 1.45. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
|
||||
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.count_if.expression_semantics"></a><h6>
|
||||
<a name="id588025"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
|
||||
in <tt class="computeroutput"><span class="identifier">seq</span></tt> where <tt class="computeroutput"><span class="identifier">f</span></tt> evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count_if.complexity"></a><h6>
|
||||
<a name="id588169"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count_if.header"></a><h6>
|
||||
<a name="id588252"></a>
|
||||
<a href="count_if.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.count_if.example"></a><h6>
|
||||
<a name="id588359"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
169
doc/html/fusion/algorithms/query/functions/find.html
Normal file
169
doc/html/fusion/algorithms/query/functions/find.html
Normal file
@@ -0,0 +1,169 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.find.description"></a><h6>
|
||||
<a name="id584340"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Finds the first element of a given type within a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find.synopsis"></a><h6>
|
||||
<a name="id584372"></a>
|
||||
<a href="find.html#fusion.algorithms.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="id584571"></a><p class="title"><b>Table 1.42. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to search for
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.find.expression_semantics"></a><h6>
|
||||
<a name="id584710"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></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"><b>Return type</b></span>: A model of the same iterator
|
||||
category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
|
||||
first element of <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
of type <tt class="computeroutput"><span class="identifier">T</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt> if there is no such element. Equivalent
|
||||
to <tt class="computeroutput"><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></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></tt>
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find.complexity"></a><h6>
|
||||
<a name="id584964"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find.header"></a><h6>
|
||||
<a name="id585048"></a>
|
||||
<a href="find.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.find.example"></a><h6>
|
||||
<a name="id585154"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></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 href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></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 href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
173
doc/html/fusion/algorithms/query/functions/find_if.html
Normal file
173
doc/html/fusion/algorithms/query/functions/find_if.html
Normal file
@@ -0,0 +1,173 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.find_if"></a><a 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 <tt 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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find_if.description"></a><h6>
|
||||
<a name="id585482"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithms.query.functions.find_if.synopsis"></a><h6>
|
||||
<a name="id585508"></a>
|
||||
<a href="find_if.html#fusion.algorithms.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="id585709"></a><p class="title"><b>Table 1.43. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</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>
|
||||
<a name="fusion.algorithms.query.functions.find_if.expression_semantics"></a><h6>
|
||||
<a name="id585855"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></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"><b>Return type</b></span>: An iterator of the same
|
||||
iterator category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the first element
|
||||
of <tt class="computeroutput"><span class="identifier">seq</span></tt> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
evaluates to <tt 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></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt>
|
||||
if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find_if.complexity"></a><h6>
|
||||
<a name="id586064"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find_if.header"></a><h6>
|
||||
<a name="id586148"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.find_if.example"></a><h6>
|
||||
<a name="id586255"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></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 href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></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 href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
177
doc/html/fusion/algorithms/query/functions/none.html
Normal file
177
doc/html/fusion/algorithms/query/functions/none.html
Normal file
@@ -0,0 +1,177 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>none</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.none.description"></a><h6>
|
||||
<a name="id583097"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
|
||||
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">none</span></tt> returns true if
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt> returns false for every
|
||||
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.none.synopsis"></a><h6>
|
||||
<a name="id583186"></a>
|
||||
<a href="none.html#fusion.algorithms.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 href="../metafunctions/none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></tt></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="id583381"></a><p class="title"><b>Table 1.41. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
|
||||
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.none.expression_semantics"></a><h6>
|
||||
<a name="id583582"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns true if and only
|
||||
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
|
||||
evaluates to <tt class="computeroutput"><span class="keyword">false</span></tt> for every
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. Result equivalent to <tt 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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.none.complexity"></a><h6>
|
||||
<a name="id583794"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.none.header"></a><h6>
|
||||
<a name="id583878"></a>
|
||||
<a href="none.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.none.example"></a><h6>
|
||||
<a name="id583984"></a>
|
||||
<a href="none.html#fusion.algorithms.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 href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
48
doc/html/fusion/algorithms/query/metafunctions.html
Normal file
48
doc/html/fusion/algorithms/query/metafunctions.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions"></a><a 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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
161
doc/html/fusion/algorithms/query/metafunctions/all.html
Normal file
161
doc/html/fusion/algorithms/query/metafunctions/all.html
Normal file
@@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>all</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.description"></a><h6>
|
||||
<a name="id589262"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.synopsis"></a><h6>
|
||||
<a name="id589310"></a>
|
||||
<a href="all.html#fusion.algorithms.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="id589432"></a><p class="title"><b>Table 1.47. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a 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>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.expression_semantics"></a><h6>
|
||||
<a name="id589580"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>
|
||||
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.complexity"></a><h6>
|
||||
<a name="id589768"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.header"></a><h6>
|
||||
<a name="id589798"></a>
|
||||
<a href="all.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
161
doc/html/fusion/algorithms/query/metafunctions/any.html
Normal file
161
doc/html/fusion/algorithms/query/metafunctions/any.html
Normal file
@@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>any</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.description"></a><h6>
|
||||
<a name="id588597"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.synopsis"></a><h6>
|
||||
<a name="id588645"></a>
|
||||
<a href="any.html#fusion.algorithms.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="id588767"></a><p class="title"><b>Table 1.46. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a 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>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.expression_semantics"></a><h6>
|
||||
<a name="id588917"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>
|
||||
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.complexity"></a><h6>
|
||||
<a name="id589105"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.header"></a><h6>
|
||||
<a name="id589135"></a>
|
||||
<a href="any.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
156
doc/html/fusion/algorithms/query/metafunctions/count.html
Normal file
156
doc/html/fusion/algorithms/query/metafunctions/count.html
Normal file
@@ -0,0 +1,156 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.description"></a><h6>
|
||||
<a name="id592038"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count</span></tt>
|
||||
given the sequence and search types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.synopsis"></a><h6>
|
||||
<a name="id592082"></a>
|
||||
<a href="count.html#fusion.algorithms.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="id592203"></a><p class="title"><b>Table 1.51. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.expression_semantics"></a><h6>
|
||||
<a name="id592342"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a>. The return type is always
|
||||
<tt class="computeroutput"><span class="keyword">int</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.complexity"></a><h6>
|
||||
<a name="id592487"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.header"></a><h6>
|
||||
<a name="id592516"></a>
|
||||
<a href="count.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
156
doc/html/fusion/algorithms/query/metafunctions/count_if.html
Normal file
156
doc/html/fusion/algorithms/query/metafunctions/count_if.html
Normal file
@@ -0,0 +1,156 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.description"></a><h6>
|
||||
<a name="id592644"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count_if</span></tt>
|
||||
given the sequence and predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.synopsis"></a><h6>
|
||||
<a name="id592689"></a>
|
||||
<a href="count_if.html#fusion.algorithms.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="id592810"></a><p class="title"><b>Table 1.52. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.expression_semantics"></a><h6>
|
||||
<a name="id592951"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a>. The return type is
|
||||
always <tt class="computeroutput"><span class="keyword">int</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.complexity"></a><h6>
|
||||
<a name="id593108"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.header"></a><h6>
|
||||
<a name="id593138"></a>
|
||||
<a href="count_if.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
157
doc/html/fusion/algorithms/query/metafunctions/find.html
Normal file
157
doc/html/fusion/algorithms/query/metafunctions/find.html
Normal file
@@ -0,0 +1,157 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.description"></a><h6>
|
||||
<a name="id590592"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <tt class="computeroutput"><span class="identifier">find</span></tt>,
|
||||
given the sequence and search types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.synopsis"></a><h6>
|
||||
<a name="id590635"></a>
|
||||
<a href="find.html#fusion.algorithms.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="id590754"></a><p class="title"><b>Table 1.49. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.expression_semantics"></a><h6>
|
||||
<a name="id590893"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></tt></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"><b>Return type</b></span>: A model of the same iterator
|
||||
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
|
||||
first element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></tt> if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.complexity"></a><h6>
|
||||
<a name="id591097"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, at most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.header"></a><h6>
|
||||
<a name="id591180"></a>
|
||||
<a href="find.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
159
doc/html/fusion/algorithms/query/metafunctions/find_if.html
Normal file
159
doc/html/fusion/algorithms/query/metafunctions/find_if.html
Normal file
@@ -0,0 +1,159 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.description"></a><h6>
|
||||
<a name="id591309"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <tt class="computeroutput"><span class="identifier">find_if</span></tt>
|
||||
given the sequence and predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.synopsis"></a><h6>
|
||||
<a name="id591353"></a>
|
||||
<a href="find_if.html#fusion.algorithms.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="id591473"></a><p class="title"><b>Table 1.50. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
</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>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.expression_semantics"></a><h6>
|
||||
<a name="id591621"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></tt></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"><b>Return type</b></span>: A model of the same iterator
|
||||
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
|
||||
first element in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
|
||||
to true. Returns <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></tt> if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.complexity"></a><h6>
|
||||
<a name="id591827"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></tt> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.header"></a><h6>
|
||||
<a name="id591911"></a>
|
||||
<a href="find_if.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
161
doc/html/fusion/algorithms/query/metafunctions/none.html
Normal file
161
doc/html/fusion/algorithms/query/metafunctions/none.html
Normal file
@@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>none</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.description"></a><h6>
|
||||
<a name="id589925"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.synopsis"></a><h6>
|
||||
<a name="id589974"></a>
|
||||
<a href="none.html#fusion.algorithms.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="id590095"></a><p class="title"><b>Table 1.48. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a 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>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.expression_semantics"></a><h6>
|
||||
<a name="id590243"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></tt></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"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a> given a sequence of type
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
|
||||
<a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
|
||||
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.complexity"></a><h6>
|
||||
<a name="id590433"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.header"></a><h6>
|
||||
<a name="id590462"></a>
|
||||
<a href="none.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
66
doc/html/fusion/algorithms/transformation.html
Normal file
66
doc/html/fusion/algorithms/transformation.html
Normal file
@@ -0,0 +1,66 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Transformation</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.transformation"></a><a 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/html/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td colspan="2" 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.algorithms.transformation.header"></a><h4>
|
||||
<a name="id593287"></a>
|
||||
<a href="transformation.html#fusion.algorithms.transformation.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">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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
60
doc/html/fusion/algorithms/transformation/functions.html
Normal file
60
doc/html/fusion/algorithms/transformation/functions.html
Normal file
@@ -0,0 +1,60 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions"></a><a 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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
140
doc/html/fusion/algorithms/transformation/functions/clear.html
Normal file
140
doc/html/fusion/algorithms/transformation/functions/clear.html
Normal file
@@ -0,0 +1,140 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>clear</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.description"></a><h6>
|
||||
<a name="id602328"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a> returns an empty sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.synposis"></a><h6>
|
||||
<a name="id602377"></a>
|
||||
<a href="clear.html#fusion.algorithms.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 href="../metafunctions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></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="id602535"></a><p class="title"><b>Table 1.62. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.expression_semantics"></a><h6>
|
||||
<a name="id602638"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Expression Semantics</b></span>: Returns a sequence
|
||||
with no elements.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.complexity"></a><h6>
|
||||
<a name="id602737"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.header"></a><h6>
|
||||
<a name="id602768"></a>
|
||||
<a href="clear.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.example"></a><h6>
|
||||
<a name="id602876"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
208
doc/html/fusion/algorithms/transformation/functions/erase.html
Normal file
208
doc/html/fusion/algorithms/transformation/functions/erase.html
Normal file
@@ -0,0 +1,208 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.description"></a><h6>
|
||||
<a name="id603041"></a>
|
||||
<a href="erase.html#fusion.algorithms.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.algorithms.transformation.functions.erase.synposis"></a><h6>
|
||||
<a name="id603074"></a>
|
||||
<a href="erase.html#fusion.algorithms.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 href="../metafunctions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></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 href="../metafunctions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></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="id603537"></a><p class="title"><b>Table 1.63. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">it1</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">it2</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
after <tt class="computeroutput"><span class="identifier">it1</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.expression_semantics"></a><h6>
|
||||
<a name="id603764"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
except the element at <tt class="computeroutput"><span class="identifier">pos</span></tt>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, with
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
in their original order, except those in the range [<tt class="computeroutput"><span class="identifier">first</span></tt>,<tt class="computeroutput"><span class="identifier">last</span></tt>).
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.complexity"></a><h6>
|
||||
<a name="id604023"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.header"></a><h6>
|
||||
<a name="id604055"></a>
|
||||
<a href="erase.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.example"></a><h6>
|
||||
<a name="id604163"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,167 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase_key</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.description"></a><h6>
|
||||
<a name="id604621"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For an <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a> <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
returns a <a href="../../../sequences/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.algorithms.transformation.functions.erase_key.synposis"></a><h6>
|
||||
<a name="id604684"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.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> <span class="identifier">result_of</span><span class="special">::</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">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="id604857"></a><p class="title"><b>Table 1.64. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Key</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Key to erase
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.expression_semantics"></a><h6>
|
||||
<a name="id604998"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.complexity"></a><h6>
|
||||
<a name="id605129"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.header"></a><h6>
|
||||
<a name="id605160"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.example"></a><h6>
|
||||
<a name="id605268"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><a href="../../../sequences/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></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 href="../../../sequences/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
164
doc/html/fusion/algorithms/transformation/functions/filter.html
Normal file
164
doc/html/fusion/algorithms/transformation/functions/filter.html
Normal file
@@ -0,0 +1,164 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.description"></a><h6>
|
||||
<a name="id593426"></a>
|
||||
<a href="filter.html#fusion.algorithms.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.algorithms.transformation.functions.filter.synopsis"></a><h6>
|
||||
<a name="id593459"></a>
|
||||
<a href="filter.html#fusion.algorithms.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 href="../metafunctions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></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="id593645"></a><p class="title"><b>Table 1.53. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.expression_semantics"></a><h6>
|
||||
<a name="id593783"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
|
||||
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.complexity"></a><h6>
|
||||
<a name="id593999"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.header"></a><h6>
|
||||
<a name="id594031"></a>
|
||||
<a href="filter.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.example"></a><h6>
|
||||
<a name="id594139"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,167 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.description"></a><h6>
|
||||
<a name="id594409"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a given sequence, <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></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 <tt 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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.synopsis"></a><h6>
|
||||
<a name="id594499"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.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 href="../metafunctions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></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="id594686"></a><p class="title"><b>Table 1.54. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
</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>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.expression_semantics"></a><h6>
|
||||
<a name="id594835"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
with types for which <tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
evaluates to <tt 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></tt>. The order of the retained elements
|
||||
is the same as in the original sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.complexity"></a><h6>
|
||||
<a name="id595001"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.header"></a><h6>
|
||||
<a name="id595033"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.example"></a><h6>
|
||||
<a name="id595141"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
185
doc/html/fusion/algorithms/transformation/functions/insert.html
Normal file
185
doc/html/fusion/algorithms/transformation/functions/insert.html
Normal file
@@ -0,0 +1,185 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.description"></a><h6>
|
||||
<a name="id605475"></a>
|
||||
<a href="insert.html#fusion.algorithms.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.algorithms.transformation.functions.insert.synposis"></a><h6>
|
||||
<a name="id605509"></a>
|
||||
<a href="insert.html#fusion.algorithms.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="emphasis"><em>unspecified</em></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="id605700"></a><p class="title"><b>Table 1.65. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">pos</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/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>
|
||||
<tt class="computeroutput"><span class="identifier">t</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to insert
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.expression_semantics"></a><h6>
|
||||
<a name="id605885"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
in their original order, and a new element with the type and value of
|
||||
<tt class="computeroutput"><span class="identifier">t</span></tt> inserted at iterator
|
||||
<tt class="computeroutput"><span class="identifier">pos</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.complexity"></a><h6>
|
||||
<a name="id606040"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.header"></a><h6>
|
||||
<a name="id606073"></a>
|
||||
<a href="insert.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.example"></a><h6>
|
||||
<a name="id606180"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,188 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert_range</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.description"></a><h6>
|
||||
<a name="id606475"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.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.algorithms.transformation.functions.insert_range.synposis"></a><h6>
|
||||
<a name="id606508"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.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 href="../metafunctions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></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="id606782"></a><p class="title"><b>Table 1.66. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">pos</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/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>
|
||||
<tt class="computeroutput"><span class="identifier">range</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Range to insert
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.expression_semantics"></a><h6>
|
||||
<a name="id606976"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
and the elements of <tt class="computeroutput"><span class="identifier">range</span></tt>
|
||||
inserted at iterator <tt class="computeroutput"><span class="identifier">pos</span></tt>.
|
||||
All elements retaining their ordering from the orignal sequences.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.complexity"></a><h6>
|
||||
<a name="id607136"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.header"></a><h6>
|
||||
<a name="id607167"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.example"></a><h6>
|
||||
<a name="id607275"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
166
doc/html/fusion/algorithms/transformation/functions/join.html
Normal file
166
doc/html/fusion/algorithms/transformation/functions/join.html
Normal file
@@ -0,0 +1,166 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>join</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.join.description"></a><h6>
|
||||
<a name="id607606"></a>
|
||||
<a href="join.html#fusion.algorithms.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.algorithms.transformation.functions.join.synopsis"></a><h6>
|
||||
<a name="id607640"></a>
|
||||
<a href="join.html#fusion.algorithms.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 href="../metafunctions/join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></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="id607847"></a><p class="title"><b>Table 1.67. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">lhs</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">rhs</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.join.expression_semantics"></a><h6>
|
||||
<a name="id607995"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">lhs</span></tt>
|
||||
followed by all the elements of <tt class="computeroutput"><span class="identifier">rhs</span></tt>.
|
||||
The order of th elements is preserved.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.join.complexity"></a><h6>
|
||||
<a name="id608128"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.join.header"></a><h6>
|
||||
<a name="id608159"></a>
|
||||
<a href="join.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.join.example"></a><h6>
|
||||
<a name="id608266"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,142 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.description"></a><h6>
|
||||
<a name="id609826"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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.algorithms.transformation.functions.pop_back.synopsis"></a><h6>
|
||||
<a name="id609859"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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 href="../metafunctions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></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="id610016"></a><p class="title"><b>Table 1.69. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.expression_semantics"></a><h6>
|
||||
<a name="id610120"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
except the last element. The elements in the new sequence are in the
|
||||
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.complexity"></a><h6>
|
||||
<a name="id610244"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.header"></a><h6>
|
||||
<a name="id610274"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.example"></a><h6>
|
||||
<a name="id610382"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,142 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.description"></a><h6>
|
||||
<a name="id610558"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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.algorithms.transformation.functions.pop_front.synopsis"></a><h6>
|
||||
<a name="id610591"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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 href="../metafunctions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></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="id610749"></a><p class="title"><b>Table 1.70. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.expression_semantics"></a><h6>
|
||||
<a name="id610854"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
except the first element. The elements in the new sequence are in the
|
||||
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.complexity"></a><h6>
|
||||
<a name="id610977"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.header"></a><h6>
|
||||
<a name="id611007"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.example"></a><h6>
|
||||
<a name="id611115"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,163 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.description"></a><h6>
|
||||
<a name="id611299"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with an element added at the end.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.synopsis"></a><h6>
|
||||
<a name="id611332"></a>
|
||||
<a href="push_back.html#fusion.algorithms.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 href="../metafunctions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></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="id611542"></a><p class="title"><b>Table 1.71. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">t</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to add to the end
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.expression_semantics"></a><h6>
|
||||
<a name="id611683"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
|
||||
to the end. The elements are in the same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.complexity"></a><h6>
|
||||
<a name="id611827"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.header"></a><h6>
|
||||
<a name="id611858"></a>
|
||||
<a href="push_back.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.example"></a><h6>
|
||||
<a name="id611966"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,164 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.description"></a><h6>
|
||||
<a name="id612181"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with an element added at the beginning.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.synopsis"></a><h6>
|
||||
<a name="id612213"></a>
|
||||
<a href="push_front.html#fusion.algorithms.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 href="../metafunctions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></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="id612423"></a><p class="title"><b>Table 1.72. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">t</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to add to the beginning
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.expression_semantics"></a><h6>
|
||||
<a name="id612563"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
|
||||
to the beginning. The elements are in the same order as they were in
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.complexity"></a><h6>
|
||||
<a name="id612710"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.header"></a><h6>
|
||||
<a name="id612742"></a>
|
||||
<a href="push_front.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.example"></a><h6>
|
||||
<a name="id612850"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
164
doc/html/fusion/algorithms/transformation/functions/remove.html
Normal file
164
doc/html/fusion/algorithms/transformation/functions/remove.html
Normal file
@@ -0,0 +1,164 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.description"></a><h6>
|
||||
<a name="id599638"></a>
|
||||
<a href="remove.html#fusion.algorithms.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.algorithms.transformation.functions.remove.synopsis"></a><h6>
|
||||
<a name="id599672"></a>
|
||||
<a href="remove.html#fusion.algorithms.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 href="../metafunctions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></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="id599857"></a><p class="title"><b>Table 1.59. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to remove
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.expression_semantics"></a><h6>
|
||||
<a name="id599996"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
in their original order, except those of type <tt class="computeroutput"><span class="identifier">T</span></tt>.
|
||||
Equivalent to <tt class="computeroutput"><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.complexity"></a><h6>
|
||||
<a name="id600212"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.header"></a><h6>
|
||||
<a name="id600244"></a>
|
||||
<a href="remove.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.example"></a><h6>
|
||||
<a name="id600352"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,166 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.description"></a><h6>
|
||||
<a name="id600574"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.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 <tt class="computeroutput"><span class="keyword">true</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.synopsis"></a><h6>
|
||||
<a name="id600620"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.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 href="../metafunctions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></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="id600806"></a><p class="title"><b>Table 1.60. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
</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>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.expression_semantics"></a><h6>
|
||||
<a name="id600952"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
in their original order, except those elements with types for which
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates to <tt 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></tt>. Equivalent to <tt class="computeroutput"><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.complexity"></a><h6>
|
||||
<a name="id601203"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.header"></a><h6>
|
||||
<a name="id601233"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.example"></a><h6>
|
||||
<a name="id601341"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
185
doc/html/fusion/algorithms/transformation/functions/replace.html
Normal file
185
doc/html/fusion/algorithms/transformation/functions/replace.html
Normal file
@@ -0,0 +1,185 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.description"></a><h6>
|
||||
<a name="id597429"></a>
|
||||
<a href="replace.html#fusion.algorithms.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.algorithms.transformation.functions.replace.synopsis"></a><h6>
|
||||
<a name="id597462"></a>
|
||||
<a href="replace.html#fusion.algorithms.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 href="../metafunctions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></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="id597706"></a><p class="title"><b>Table 1.57. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></tt>
|
||||
is a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
|
||||
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">seq</span></tt> with type
|
||||
convertible to <tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">old_value</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Value to replace
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">new_value</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement value
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.expression_semantics"></a><h6>
|
||||
<a name="id597954"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
|
||||
all the values of <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
|
||||
to elements with the same type and equal to <tt class="computeroutput"><span class="identifier">old_value</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.complexity"></a><h6>
|
||||
<a name="id598111"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.header"></a><h6>
|
||||
<a name="id598143"></a>
|
||||
<a href="replace.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.example"></a><h6>
|
||||
<a name="id598251"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,194 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.description"></a><h6>
|
||||
<a name="id598449"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Replaces each element of a given sequence for which an unary function
|
||||
object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>
|
||||
replaced with a new value.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.synopsis"></a><h6>
|
||||
<a name="id598494"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.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 href="../metafunctions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></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="id598754"></a><p class="title"><b>Table 1.58. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A function object for which <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
|
||||
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
|
||||
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">new_value</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement value
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.expression_semantics"></a><h6>
|
||||
<a name="id598994"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
|
||||
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
|
||||
to each element for which <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.complexity"></a><h6>
|
||||
<a name="id599163"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.header"></a><h6>
|
||||
<a name="id599194"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.example"></a><h6>
|
||||
<a name="id599302"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.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 href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
141
doc/html/fusion/algorithms/transformation/functions/reverse.html
Normal file
141
doc/html/fusion/algorithms/transformation/functions/reverse.html
Normal file
@@ -0,0 +1,141 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>reverse</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.description"></a><h6>
|
||||
<a name="id601590"></a>
|
||||
<a href="reverse.html#fusion.algorithms.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.algorithms.transformation.functions.reverse.synposis"></a><h6>
|
||||
<a name="id601623"></a>
|
||||
<a href="reverse.html#fusion.algorithms.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 href="../metafunctions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></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="id601782"></a><p class="title"><b>Table 1.61. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
|
||||
Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.expression_semantics"></a><h6>
|
||||
<a name="id601885"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
|
||||
Sequence">Bidirectional
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
|
||||
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
in reverse order.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.complexity"></a><h6>
|
||||
<a name="id601995"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.header"></a><h6>
|
||||
<a name="id602027"></a>
|
||||
<a href="reverse.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.example"></a><h6>
|
||||
<a name="id602134"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,292 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>transform</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.description"></a><h6>
|
||||
<a name="id595437"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
|
||||
function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">transform</span></tt> returns a new
|
||||
sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.unary_version_synopsis"></a><h6>
|
||||
<a name="id595555"></a>
|
||||
<a href="transform.html#fusion.algorithms.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 href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></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="id595761"></a><p class="title"><b>Table 1.55. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
|
||||
is a valid expression for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with a value of
|
||||
each element type <tt class="computeroutput"><span class="identifier">E</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.expression_semantics"></a><h6>
|
||||
<a name="id596034"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.binary_version_synopsis"></a><h6>
|
||||
<a name="id596194"></a>
|
||||
<a href="transform.html#fusion.algorithms.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 href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></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="id596462"></a><p class="title"><b>Table 1.56. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq1</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">seq2</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt 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></tt>
|
||||
is a valid expression for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt>
|
||||
of <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> of <tt class="computeroutput"><span class="identifier">seq2</span></tt>.
|
||||
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with elements of
|
||||
type <tt class="computeroutput"><span class="identifier">E1</span></tt> and <tt class="computeroutput"><span class="identifier">E2</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
the return values of <tt 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></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
|
||||
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.complexity"></a><h6>
|
||||
<a name="id596949"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.header"></a><h6>
|
||||
<a name="id596980"></a>
|
||||
<a href="transform.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.example"></a><h6>
|
||||
<a name="id597088"></a>
|
||||
<a href="transform.html#fusion.algorithms.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 href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
153
doc/html/fusion/algorithms/transformation/functions/zip.html
Normal file
153
doc/html/fusion/algorithms/transformation/functions/zip.html
Normal file
@@ -0,0 +1,153 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>zip</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.description"></a><h6>
|
||||
<a name="id608584"></a>
|
||||
<a href="zip.html#fusion.algorithms.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.algorithms.transformation.functions.zip.synopsis"></a><h6>
|
||||
<a name="id608617"></a>
|
||||
<a href="zip.html#fusion.algorithms.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 href="../metafunctions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></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="id608902"></a><p class="title"><b>Table 1.68. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq1</span></tt> to <tt class="computeroutput"><span class="identifier">seqN</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Each sequence is a model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.expression_semantics"></a><h6>
|
||||
<a name="id609018"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
tuples of elements from sequences <tt class="computeroutput"><span class="identifier">seq1</span></tt>
|
||||
to <tt class="computeroutput"><span class="identifier">seqN</span></tt>. For example,
|
||||
applying zip to tuples <tt 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></tt>
|
||||
and <tt 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></tt>
|
||||
would return <tt 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></tt>
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.complexity"></a><h6>
|
||||
<a name="id609327"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.header"></a><h6>
|
||||
<a name="id609359"></a>
|
||||
<a href="zip.html#fusion.algorithms.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.example"></a><h6>
|
||||
<a name="id609465"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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 href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
60
doc/html/fusion/algorithms/transformation/metafunctions.html
Normal file
60
doc/html/fusion/algorithms/transformation/metafunctions.html
Normal file
@@ -0,0 +1,60 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions"></a><a 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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,134 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>clear</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.description"></a><h6>
|
||||
<a name="id619772"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.synopsis"></a><h6>
|
||||
<a name="id619822"></a>
|
||||
<a href="clear.html#fusion.algorithms.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="id619924"></a><p class="title"><b>Table 1.82. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.expression_semantics"></a><h6>
|
||||
<a name="id620020"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns an empty sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.complexity"></a><h6>
|
||||
<a name="id620134"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.header"></a><h6>
|
||||
<a name="id620166"></a>
|
||||
<a href="clear.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,191 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a>, given the input sequence
|
||||
and range delimiting iterator types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.description"></a><h6>
|
||||
<a name="id620320"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.synopsis"></a><h6>
|
||||
<a name="id620347"></a>
|
||||
<a href="erase.html#fusion.algorithms.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="id620493"></a><p class="title"><b>Table 1.83. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">It1</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">It2</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.expression_semantics"></a><h6>
|
||||
<a name="id620686"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
|
||||
the element at <tt class="computeroutput"><span class="identifier">It1</span></tt> removed.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
|
||||
the elements between <tt class="computeroutput"><span class="identifier">It1</span></tt>
|
||||
and <tt class="computeroutput"><span class="identifier">It2</span></tt> removed.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.complexity"></a><h6>
|
||||
<a name="id620956"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.header"></a><h6>
|
||||
<a name="id620986"></a>
|
||||
<a href="erase.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase_key</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.description"></a><h6>
|
||||
<a name="id621119"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a>, given the sequence
|
||||
and key types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.synopsis"></a><h6>
|
||||
<a name="id621171"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.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="id621291"></a><p class="title"><b>Table 1.84. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Key</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Key type
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
|
||||
<a name="id621431"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
|
||||
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>,
|
||||
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.complexity"></a><h6>
|
||||
<a name="id621580"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.header"></a><h6>
|
||||
<a name="id621611"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,160 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.description"></a><h6>
|
||||
<a name="id613083"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a> given the sequence type
|
||||
and type to retain.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.synopsis"></a><h6>
|
||||
<a name="id613133"></a>
|
||||
<a href="filter.html#fusion.algorithms.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="id613252"></a><p class="title"><b>Table 1.73. Parameter</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.expression_semantics"></a><h6>
|
||||
<a name="id613393"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
that are of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
|
||||
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.complexity"></a><h6>
|
||||
<a name="id613656"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.header"></a><h6>
|
||||
<a name="id613688"></a>
|
||||
<a href="filter.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.description"></a><h6>
|
||||
<a name="id613818"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></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.algorithms.transformation.metafunctions.filter_if.synopsis"></a><h6>
|
||||
<a name="id613877"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.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="id613998"></a><p class="title"><b>Table 1.74. Parameter</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
</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>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
|
||||
<a name="id614143"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
|
||||
to <tt 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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.complexity"></a><h6>
|
||||
<a name="id614327"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.header"></a><h6>
|
||||
<a name="id614358"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,179 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.description"></a><h6>
|
||||
<a name="id621744"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a>, given the sequence,
|
||||
position iterator and insertion types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.synopsis"></a><h6>
|
||||
<a name="id621796"></a>
|
||||
<a href="insert.html#fusion.algorithms.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="id621933"></a><p class="title"><b>Table 1.85. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Position</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.expression_semantics"></a><h6>
|
||||
<a name="id622119"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with an
|
||||
element of type <tt class="computeroutput"><span class="identifier">T</span></tt> inserted
|
||||
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
|
||||
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.complexity"></a><h6>
|
||||
<a name="id622293"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.header"></a><h6>
|
||||
<a name="id622324"></a>
|
||||
<a href="insert.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,181 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert_range</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.description"></a><h6>
|
||||
<a name="id622454"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a>, given the input
|
||||
sequence, position iterator and insertion range types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.synopsis"></a><h6>
|
||||
<a name="id622507"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.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="id622645"></a><p class="title"><b>Table 1.86. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Position</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Range</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
|
||||
<a name="id622840"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
|
||||
elements of <tt class="computeroutput"><span class="identifier">Range</span></tt> inserted
|
||||
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
|
||||
into <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.complexity"></a><h6>
|
||||
<a name="id623014"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.header"></a><h6>
|
||||
<a name="id623045"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,93 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>join</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.description"></a><h6>
|
||||
<a name="id623176"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result of joining 2 sequences, given the sequence types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.synopsis"></a><h6>
|
||||
<a name="id623208"></a>
|
||||
<a href="join.html#fusion.algorithms.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.algorithms.transformation.metafunctions.join.expression_semantics"></a><h6>
|
||||
<a name="id623338"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
the elements of <tt class="computeroutput"><span class="identifier">LhSequence</span></tt>
|
||||
followed by the elements of <tt class="computeroutput"><span class="identifier">RhSequence</span></tt>.
|
||||
The order of the elements in the 2 sequences is preserved.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.complexity"></a><h6>
|
||||
<a name="id623488"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.header"></a><h6>
|
||||
<a name="id623519"></a>
|
||||
<a href="join.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,138 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.description"></a><h6>
|
||||
<a name="id624310"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.synopsis"></a><h6>
|
||||
<a name="id625180"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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="id387555"></a><p class="title"><b>Table 1.87. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
|
||||
<a name="id385622"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
|
||||
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
except the last element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.complexity"></a><h6>
|
||||
<a name="id626099"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.header"></a><h6>
|
||||
<a name="id626126"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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">tranformation</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,138 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.description"></a><h6>
|
||||
<a name="id626241"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.synopsis"></a><h6>
|
||||
<a name="id626286"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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="id626378"></a><p class="title"><b>Table 1.88. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
|
||||
<a name="id626477"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
|
||||
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
except the first element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.complexity"></a><h6>
|
||||
<a name="id626590"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.header"></a><h6>
|
||||
<a name="id626617"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,159 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.description"></a><h6>
|
||||
<a name="id626733"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a>, given the types of
|
||||
the input sequence and element to push.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.synopsis"></a><h6>
|
||||
<a name="id626779"></a>
|
||||
<a href="push_back.html#fusion.algorithms.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="id626887"></a><p class="title"><b>Table 1.89. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.expression_semantics"></a><h6>
|
||||
<a name="id627022"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
|
||||
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
added to the end.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.complexity"></a><h6>
|
||||
<a name="id627154"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.header"></a><h6>
|
||||
<a name="id627181"></a>
|
||||
<a href="push_back.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,159 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="../../../tuples.html" title="Tuples">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuples.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.description"></a><h6>
|
||||
<a name="id627296"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a>, given the types
|
||||
of the input sequence and element to push.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.synopsis"></a><h6>
|
||||
<a name="id627343"></a>
|
||||
<a href="push_front.html#fusion.algorithms.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="id627451"></a><p class="title"><b>Table 1.90. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.expression_semantics"></a><h6>
|
||||
<a name="id627585"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
|
||||
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
added to the beginning.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.complexity"></a><h6>
|
||||
<a name="id627717"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.header"></a><h6>
|
||||
<a name="id627744"></a>
|
||||
<a href="push_front.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuples.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,160 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.description"></a><h6>
|
||||
<a name="id617791"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a>, given the sequence and
|
||||
removal types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.synopsis"></a><h6>
|
||||
<a name="id617843"></a>
|
||||
<a href="remove.html#fusion.algorithms.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="id617962"></a><p class="title"><b>Table 1.79. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Remove elements of this type
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.expression_semantics"></a><h6>
|
||||
<a name="id618101"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
not of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
|
||||
to <tt class="computeroutput"><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.complexity"></a><h6>
|
||||
<a name="id618364"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.header"></a><h6>
|
||||
<a name="id618395"></a>
|
||||
<a href="remove.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,161 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.description"></a><h6>
|
||||
<a name="id618525"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></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.algorithms.transformation.metafunctions.remove_if.synopsis"></a><h6>
|
||||
<a name="id618583"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.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="id618704"></a><p class="title"><b>Table 1.80. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
|
||||
</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 <tt 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></tt>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
|
||||
<a name="id618882"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
|
||||
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
|
||||
to <tt 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></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.complexity"></a><h6>
|
||||
<a name="id619066"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.header"></a><h6>
|
||||
<a name="id619097"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,157 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.description"></a><h6>
|
||||
<a name="id616479"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>, given the types of
|
||||
the input sequence and element to replace.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.synopsis"></a><h6>
|
||||
<a name="id616530"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.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">struct</span> <span class="identifier">replace</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="id616649"></a><p class="title"><b>Table 1.77. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type of the search and replacement objects
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.expression_semantics"></a><h6>
|
||||
<a name="id616791"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.complexity"></a><h6>
|
||||
<a name="id616934"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.header"></a><h6>
|
||||
<a name="id616965"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,178 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.description"></a><h6>
|
||||
<a name="id617095"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>, given the types
|
||||
of the sequence, <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> predicate and replacement object.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.synopsis"></a><h6>
|
||||
<a name="id617155"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.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">struct</span> <span class="identifier">replace_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="id617292"></a><p class="title"><b>Table 1.78. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type of the replacement object
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics"></a><h6>
|
||||
<a name="id617476"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></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">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns the return type of
|
||||
<a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.complexity"></a><h6>
|
||||
<a name="id617630"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.header"></a><h6>
|
||||
<a name="id617661"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>reverse</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.description"></a><h6>
|
||||
<a name="id619227"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.synopsis"></a><h6>
|
||||
<a name="id619278"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.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">reverse</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="id619380"></a><p class="title"><b>Table 1.81. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
|
||||
Sequence">Bidirectional
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.expression_semantics"></a><h6>
|
||||
<a name="id619485"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
|
||||
Sequence">Bidirectional
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
|
||||
elements in the reverse order to <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.complexity"></a><h6>
|
||||
<a name="id619611"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.header"></a><h6>
|
||||
<a name="id619642"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,292 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>transform</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.description"></a><h6>
|
||||
<a name="id614488"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
|
||||
function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">transform</span></tt> returns a new
|
||||
sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.unary_version_synopsis"></a><h6>
|
||||
<a name="id614606"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.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 href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></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="id614810"></a><p class="title"><b>Table 1.75. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
|
||||
is a valid expression for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with a value of
|
||||
each element type <tt class="computeroutput"><span class="identifier">E</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.expression_semantics"></a><h6>
|
||||
<a name="id615083"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></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"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
|
||||
within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.binary_version_synopsis"></a><h6>
|
||||
<a name="id615244"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.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 href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></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="id615512"></a><p class="title"><b>Table 1.76. Parameters</b></p>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">seq1</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">seq2</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt 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></tt>
|
||||
is a valid expression for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt>
|
||||
of <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> of <tt class="computeroutput"><span class="identifier">seq2</span></tt>.
|
||||
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></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></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with elements of
|
||||
type <tt class="computeroutput"><span class="identifier">E1</span></tt> and <tt class="computeroutput"><span class="identifier">E2</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
|
||||
the return values of <tt 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></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
|
||||
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.complexity"></a><h6>
|
||||
<a name="id616001"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.header"></a><h6>
|
||||
<a name="id616032"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.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>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.example"></a><h6>
|
||||
<a name="id616140"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.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 href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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 href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
100
doc/html/fusion/algorithms/transformation/metafunctions/zip.html
Normal file
100
doc/html/fusion/algorithms/transformation/metafunctions/zip.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>zip</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../metafunctions.html" title="Metafunctions">
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip.description"></a><h6>
|
||||
<a name="id623648"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.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.algorithms.transformation.metafunctions.zip.synopsis"></a><h6>
|
||||
<a name="id623681"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.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">struct</span> <span class="identifier">zip</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.algorithms.transformation.metafunctions.zip.expression_semantics"></a><h6>
|
||||
<a name="id623835"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></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>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A model of the most restrictive
|
||||
traversal category of sequences <tt class="computeroutput"><span class="identifier">Sequence1</span></tt>
|
||||
to <tt class="computeroutput"><span class="identifier">SequenceN</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Return a sequence containing
|
||||
tuples of elements from each sequence. For example, applying zip to tuples
|
||||
<tt 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></tt>
|
||||
and <tt 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></tt>
|
||||
would return <tt 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></tt>
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip.complexity"></a><h6>
|
||||
<a name="id624151"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip.header"></a><h6>
|
||||
<a name="id624182"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.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>
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
55
doc/html/fusion/change_log.html
Normal file
55
doc/html/fusion/change_log.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Change log</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="notes.html" title="Notes">
|
||||
<link rel="next" href="acknowledgements.html" title="Acknowledgements">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">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="notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.change_log"></a><a href="change_log.html" title="Change log">Change log</a></h2></div></div></div>
|
||||
<p>
|
||||
This section summarizes significant changes to the Fusion library.
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
Sep 27, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>
|
||||
support.
|
||||
</li>
|
||||
<li>
|
||||
Nov 17, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>
|
||||
support.
|
||||
</li>
|
||||
<li>
|
||||
Feb 15, 2007: Added functional module.
|
||||
</li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
536
doc/html/fusion/extension.html
Normal file
536
doc/html/fusion/extension.html
Normal file
@@ -0,0 +1,536 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Extension</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="tuples/pairs.html" title="Pairs">
|
||||
<link rel="next" href="functional.html" title="Functional">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">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="tuples/pairs.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.extension"></a><a href="extension.html" title="Extension">Extension</a></h2></div></div></div>
|
||||
<p>
|
||||
The Fusion library is designed to be extensible, new sequences types can easily
|
||||
be added. In fact, the library support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences is entirely provided using the extension mechanism.
|
||||
</p>
|
||||
<p>
|
||||
The process for adding a new sequence type to Fusion is:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
Enable the <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
|
||||
mechanism used by Fusion for your sequence type
|
||||
</li>
|
||||
<li>
|
||||
Design an iterator type for the sequence
|
||||
</li>
|
||||
<li>
|
||||
Provide specialized behaviour for the intrinsic operations of the new Fusion
|
||||
sequence
|
||||
</li>
|
||||
</ol></div>
|
||||
<a name="fusion.extension.our_example"></a><h3>
|
||||
<a name="id635063"></a>
|
||||
<a href="extension.html#fusion.extension.our_example">Our example</a>
|
||||
</h3>
|
||||
<p>
|
||||
In order to illustrate enabling a new sequence type for use with Fusion, we
|
||||
are going to use the type:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">example</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">example_struct</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="identifier">example_struct</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">n</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">name</span><span class="special">(</span><span class="identifier">n</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="special">};</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
We are going to pretend that this type has been provided by a 3rd party library,
|
||||
and therefore cannot be modified. We shall work through all the necessary steps
|
||||
to enable <tt class="computeroutput"><span class="identifier">example_struct</span></tt> to
|
||||
serve as an <a href="sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a> as described in the <a href="quick_start.html" title="Quick Start">Quick
|
||||
Start</a> guide.
|
||||
</p>
|
||||
<a name="fusion.extension.enabling_tag_dispatching"></a><h3>
|
||||
<a name="id635347"></a>
|
||||
<a href="extension.html#fusion.extension.enabling_tag_dispatching">Enabling Tag Dispatching</a>
|
||||
</h3>
|
||||
<p>
|
||||
The Fusion extensibility mechanism uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
|
||||
dispatching</em></span></a> to call the correct code for a given sequence
|
||||
type. In order to exploit the tag dispatching mechanism we must first declare
|
||||
a new tag type for the mechanism to use. For example:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">example</span> <span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">example_sequence_tag</span><span class="special">;</span> <span class="comment">// Only definition needed
|
||||
</span><span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
Next we need to enable the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
|
||||
metafunction to return our newly chosen tag type for operations involving our
|
||||
sequence. This is done by specializing <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
|
||||
for our sequence type.
|
||||
</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">support</span><span class="special">/</span><span class="identifier">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">traits</span> <span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">example_struct</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}}}</span>
|
||||
</pre>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt> also has a second template argument,
|
||||
that can be used in conjuction with <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
|
||||
to provide tag support for groups of related types. This feature is not necessary
|
||||
for our sequence, but for an example see the code in:
|
||||
</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">sequence</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">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.extension.designing_a_suitable_iterator"></a><h3>
|
||||
<a name="id635846"></a>
|
||||
<a href="extension.html#fusion.extension.designing_a_suitable_iterator">Designing a
|
||||
suitable iterator</a>
|
||||
</h3>
|
||||
<p>
|
||||
We need an iterator to describe positions, and provide access to the data within
|
||||
our sequence. As it is straightforward to do, we are going to provide a random
|
||||
access iterator in our example.
|
||||
</p>
|
||||
<p>
|
||||
We will use a simple design, in which the 2 members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
|
||||
are given numbered indices, 0 for <tt class="computeroutput"><span class="identifier">name</span></tt>
|
||||
and 1 for <tt class="computeroutput"><span class="identifier">age</span></tt> respectively.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Pos</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">example_struct_iterator</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">iterator_base</span><span class="special"><</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">Pos</span> <span class="special">>=</span><span class="number">0</span> <span class="special">&&</span> <span class="identifier">Pos</span> <span class="special"><</span> <span class="number">3</span><span class="special">);</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">Struct</span> <span class="identifier">struct_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="identifier">Pos</span><span class="special">></span> <span class="identifier">index</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">random_access_traversal_tag</span> <span class="identifier">category</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">example_struct_iterator</span><span class="special">(</span><span class="identifier">Struct</span><span class="special">&</span> <span class="identifier">str</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">struct_</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span> <span class="special">{}</span>
|
||||
|
||||
<span class="identifier">Struct</span><span class="special">&</span> <span class="identifier">struct_</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
A quick summary of the details of our iterator:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
The iterator is parameterized by the type it is iterating over, and the index
|
||||
of the current element.
|
||||
</li>
|
||||
<li>
|
||||
The typedefs <tt class="computeroutput"><span class="identifier">struct_type</span></tt>
|
||||
and <tt class="computeroutput"><span class="identifier">index</span></tt> provide convenient
|
||||
access to information we will need later in the implementation.
|
||||
</li>
|
||||
<li>
|
||||
The typedef <tt class="computeroutput"><span class="identifier">category</span></tt> allows
|
||||
the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a href="support/category_of.html" title="category_of"><tt class="computeroutput"><span class="identifier">category_of</span></tt></a></tt>
|
||||
metafunction to establish the traversal category of the iterator.
|
||||
</li>
|
||||
<li>
|
||||
The constructor stores a reference to the <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
|
||||
being iterated over.
|
||||
</li>
|
||||
</ol></div>
|
||||
<p>
|
||||
We also need to enable <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
|
||||
dispatching</em></span></a> for our iterator type, with another specialization
|
||||
of <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
In isolation, the iterator implementation is pretty dry. Things should become
|
||||
clearer as we add features to our implementation.
|
||||
</p>
|
||||
<a name="fusion.extension.a_first_couple_of_instructive_features"></a><h3>
|
||||
<a name="id636490"></a>
|
||||
<a href="extension.html#fusion.extension.a_first_couple_of_instructive_features">A first
|
||||
couple of instructive features</a>
|
||||
</h3>
|
||||
<p>
|
||||
To start with, we will get the <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></tt></a> metafunction working. To
|
||||
do this, we provide a specialization of the <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></tt>
|
||||
template for our iterator's tag type.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">value_of_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="special">></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">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="special">></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>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
The implementation itself is pretty simple, it just uses 2 partial specializations
|
||||
to provide the type of the 2 different members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>,
|
||||
based on the index of the iterator.
|
||||
</p>
|
||||
<p>
|
||||
To understand how <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>
|
||||
is used by the library we will look at the implementation of <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
|
||||
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span>
|
||||
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
So <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
|
||||
uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
|
||||
to select an <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
|
||||
Metafunction Class</a> to provide its functionality. You will notice this
|
||||
pattern throughout the implementation of Fusion.
|
||||
</p>
|
||||
<p>
|
||||
Ok, lets enable dereferencing of our iterator. In this case we must provide
|
||||
a suitable specialization of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">deref_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Struct</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="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">>,</span> <span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
The use of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is very
|
||||
similar to that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>,
|
||||
but it also provides some runtime functionality this time via the <tt class="computeroutput"><span class="identifier">call</span></tt> static member function. To see how
|
||||
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is used, lets have
|
||||
a look at the implementation of <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>
|
||||
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">deref_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span>
|
||||
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="special">{};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
<a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span> <span class="identifier">deref_meta</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="identifier">deref_meta</span><span class="special">::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
So again <a href="iterators/metafunctions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a> uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
|
||||
dispatching</em></span></a> in exactly the same way as the <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> implementation. The runtime
|
||||
functionality used by <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> is provided by the <tt class="computeroutput"><span class="identifier">call</span></tt> static function of the selected <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
|
||||
Metafunction Class</a>.
|
||||
</p>
|
||||
<p>
|
||||
The actual implementation of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
|
||||
is slightly more complex than that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>.
|
||||
We also need to implement the <tt class="computeroutput"><span class="identifier">call</span></tt>
|
||||
function, which returns a reference to the appropriate member of the underlying
|
||||
sequence. We also require a little bit of metaprogramming to return <tt class="computeroutput"><span class="keyword">const</span></tt> references if the underlying sequence
|
||||
is const.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td colspan="2" align="left" valign="top"><p>
|
||||
Although there is a fair amount of left to do to produce a fully fledged
|
||||
Fusion sequence, <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> illustrate all the signficant
|
||||
concepts required. The remainder of the process is very repetitive, simply
|
||||
requiring implementation of a suitable <tt class="computeroutput"><span class="identifier">xxxx_impl</span></tt>
|
||||
for each feature <tt class="computeroutput"><span class="identifier">xxxx</span></tt>.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<a name="fusion.extension.implementing_the_remaining_iterator_functionality"></a><h3>
|
||||
<a name="id638798"></a>
|
||||
<a href="extension.html#fusion.extension.implementing_the_remaining_iterator_functionality">Implementing
|
||||
the remaining iterator functionality</a>
|
||||
</h3>
|
||||
<p>
|
||||
Ok, now we have seen the way <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> work, everything else will work
|
||||
in pretty much the same way. Lets start with forward iteration, by providing
|
||||
a <tt class="computeroutput"><span class="identifier">next_impl</span></tt>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">next_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">struct_type</span> <span class="identifier">struct_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">index</span> <span class="identifier">index</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">struct_type</span><span class="special">,</span> <span class="identifier">index</span><span class="special">::</span><span class="identifier">value</span> <span class="special">+</span> <span class="number">1</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">i</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
This should be very familiar from our <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
|
||||
implementation, we will be using this approach again and again now. Our design
|
||||
is simply to increment the <tt class="computeroutput"><span class="identifier">index</span></tt>
|
||||
counter to move on to the next element. The various other iterator manipulations
|
||||
we need to perform will all just involve simple calculations with the <tt class="computeroutput"><span class="identifier">index</span></tt> variables.
|
||||
</p>
|
||||
<p>
|
||||
We also need to provide a suitable <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
|
||||
so that iterators can be correctly compared. A <a href="iterators/concepts/bidirectional_iterator.html" title="Bidirectional
|
||||
Iterator">Bidirectional
|
||||
Iterator</a> will also need an implementation of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>.
|
||||
For a <a href="iterators/concepts/random_access_iterator.html" title="Random
|
||||
Access Iterator">Random
|
||||
Access Iterator</a> <tt class="computeroutput"><span class="identifier">distance_impl</span></tt>
|
||||
and <tt class="computeroutput"><span class="identifier">advance_impl</span></tt> also need
|
||||
to be provided in order to satisfy the necessary complexity guarantees. As
|
||||
our iterator is a <a href="iterators/concepts/random_access_iterator.html" title="Random
|
||||
Access Iterator">Random
|
||||
Access Iterator</a> we will have to implement all of these functions.
|
||||
</p>
|
||||
<p>
|
||||
Full implementations of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">advance_impl</span></tt>, <tt class="computeroutput"><span class="identifier">distance_impl</span></tt> and <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
|
||||
are provided in the example code.
|
||||
</p>
|
||||
<a name="fusion.extension.implementing_the_intrinsic_functions_of_the_sequence"></a><h3>
|
||||
<a name="id639449"></a>
|
||||
<a href="extension.html#fusion.extension.implementing_the_intrinsic_functions_of_the_sequence">Implementing
|
||||
the intrinsic functions of the sequence</a>
|
||||
</h3>
|
||||
<p>
|
||||
In order that Fusion can correctly identify our sequence as a Fusion sequence,
|
||||
we need to enable <tt class="computeroutput"><span class="identifier">is_sequence</span></tt>
|
||||
for our sequence type. As usual we just create an <tt class="computeroutput"><span class="identifier">impl</span></tt>
|
||||
type specialized for our sequence tag:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_sequence_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></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">struct</span> <span class="identifier">apply</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
We've some similar formalities to complete, providing <tt class="computeroutput"><span class="identifier">category_of_impl</span></tt>
|
||||
so Fusion can correctly identify our sequence type, and <tt class="computeroutput"><span class="identifier">is_view_impl</span></tt>
|
||||
so Fusion can correctly identify our sequence as not being a <a href="sequences/views.html" title="Views">View</a>
|
||||
type. Implementations are provide in the example code.
|
||||
</p>
|
||||
<p>
|
||||
Now we've completed some formalities, on to more interesting features. Lets
|
||||
get <a href="sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a> working so that we can get an
|
||||
iterator to start accessing the data in our sequence.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">begin_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></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">struct</span> <span class="identifier">apply</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</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="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
The implementation uses the same ideas we have applied throughout, in this
|
||||
case we are just creating one of the iterators we developed earlier, pointing
|
||||
to the first element in the sequence. The implementation of <a href="sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a> is very similar, and is provided
|
||||
in the example code.
|
||||
</p>
|
||||
<p>
|
||||
For our <a href="sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> we will also need to implement <tt class="computeroutput"><span class="identifier">size_impl</span></tt>,
|
||||
<tt class="computeroutput"><span class="identifier">value_at_impl</span></tt> and <tt class="computeroutput"><span class="identifier">at_impl</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.extension.enabling_our_type_as_an_associative_container"></a><h3>
|
||||
<a name="id640054"></a>
|
||||
<a href="extension.html#fusion.extension.enabling_our_type_as_an_associative_container">Enabling
|
||||
our type as an associative container</a>
|
||||
</h3>
|
||||
<p>
|
||||
In order for <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
|
||||
to serve as an associative container, we need to enable 3 lookup features,
|
||||
<a href="sequences/intrinsics/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a>, <a href="sequences/intrinsics/metafunctions/value_at_key.html" title="value_at_key"><tt class="computeroutput"><span class="identifier">value_at_key</span></tt></a> and <a href="sequences/intrinsics/functions/has_key.html" title="has_key"><tt class="computeroutput"><span class="identifier">has_key</span></tt></a>. We also need to provide an
|
||||
implementation of the <tt class="computeroutput"><span class="identifier">is_associative</span></tt>
|
||||
trait so that our sequence can be correctly identified as an associative container.
|
||||
</p>
|
||||
<p>
|
||||
To implement <tt class="computeroutput"><span class="identifier">at_key_impl</span></tt> we
|
||||
need to associate the <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> and
|
||||
<tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> types described in the <a href="quick_start.html" title="Quick Start">Quick
|
||||
Start</a> guide with the appropriate members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>.
|
||||
Our implementation is as follows:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">at_key_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></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">Key</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</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">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Sequence</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="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</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="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">};</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">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>,</span>
|
||||
<span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span>
|
||||
<span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</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="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
Its all very similar to the implementations we've seen previously, such as
|
||||
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> and <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>. Instead of identifying the
|
||||
members by index or position, we are now selecting them using the types <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></tt> and <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt>. The
|
||||
implementations of <tt class="computeroutput"><span class="identifier">value_at_key_impl</span></tt>
|
||||
and <tt class="computeroutput"><span class="identifier">has_key_impl</span></tt> are equally
|
||||
straightforward, and are provided in the example code, along with an implementation
|
||||
of <tt class="computeroutput"><span class="identifier">is_associative_impl</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.extension.summary"></a><h3>
|
||||
<a name="id641060"></a>
|
||||
<a href="extension.html#fusion.extension.summary">Summary</a>
|
||||
</h3>
|
||||
<p>
|
||||
We've now worked through the entire process for adding a new random access
|
||||
sequence and we've also enabled our type to serve as an associative container.
|
||||
The implementation was slightly longwinded, but followed a simple repeating
|
||||
pattern.
|
||||
</p>
|
||||
<p>
|
||||
The support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences, and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> all use the same approach, and provide
|
||||
additional examples of the approach for a variety of types.
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="tuples/pairs.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
165
doc/html/fusion/functional.html
Normal file
165
doc/html/fusion/functional.html
Normal file
@@ -0,0 +1,165 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functional</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="extension.html" title="Extension">
|
||||
<link rel="next" href="functional/concepts.html" title="Concepts">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../more/faq.htm">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="extension.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functional/concepts.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="fusion.functional"></a><a href="functional.html" title="Functional">Functional</a></h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="functional/concepts.html">Concepts</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/concepts/callable.html"> Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/concepts/reg_callable.html"> Regular Callable
|
||||
Object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/concepts/def_callable.html"> Deferred
|
||||
Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/concepts/poly.html"> Polymorphic Function
|
||||
Object</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="functional/invocation.html">Invocation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/invocation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/invocation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="functional/adapters.html"> Adapters</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/adapters/fused.html">fused</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/fused_procedure.html">fused_procedure</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/fused_function_object.html">fused_function_object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_generic.html">unfused_generic</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_lvalue_args.html">unfused_lvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_rvalue_args.html">unfused_rvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_typed.html">unfused_typed</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="functional/generation.html">Generation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/generation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/generation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<p>
|
||||
Components to call functions and function objects and to make Fusion code callable
|
||||
through a function object interface.
|
||||
</p>
|
||||
<a name="fusion.functional.header"></a><h3>
|
||||
<a name="id641172"></a>
|
||||
<a href="functional.html#fusion.functional.header">Header</a>
|
||||
</h3>
|
||||
<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">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.fused_and_unfused_forms"></a><h3>
|
||||
<a name="id641256"></a>
|
||||
<a href="functional.html#fusion.functional.fused_and_unfused_forms">Fused and unfused
|
||||
forms</a>
|
||||
</h3>
|
||||
<p>
|
||||
What is a function call?
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">f</span> <span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">,</span><span class="identifier">c</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
It is a name and a tuple written next to each other, left-to-right.
|
||||
</p>
|
||||
<p>
|
||||
Although the C++ syntax does not allow to replace <tt class="literal">(a,b,c)</tt>
|
||||
with some Fusion <a href="sequences.html" title="Sequences">Sequence</a>, introducing
|
||||
yet another function provides a solution:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">my_sequence</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
Alternatively it is possible to apply a simple transformation to <tt class="literal">f</tt>
|
||||
in order to achieve the same effect:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">f</span> <span class="identifier">tuple</span> <span class="special"><=></span> f' <span class="special">(</span><span class="identifier">tuple</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
Now, <tt class="literal">f'</tt> is an unary function that takes the arguments to
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt> as a tuple; <tt class="literal">f'</tt>
|
||||
is the <span class="emphasis"><em>fused</em></span> form of <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
Reading the above equivalence right-to-left to get the inverse transformation,
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt> is the <span class="emphasis"><em>unfused</em></span>
|
||||
form of <tt class="literal">f'</tt>.
|
||||
</p>
|
||||
<a name="fusion.functional.calling_functions_and_function_objects"></a><h3>
|
||||
<a name="id641521"></a>
|
||||
<a href="functional.html#fusion.functional.calling_functions_and_function_objects">Calling
|
||||
functions and function objects</a>
|
||||
</h3>
|
||||
<p>
|
||||
Having generic C++ code call back arbitrary functions provided by the client
|
||||
used to be a heavily repetitive task, as different functions can differ in
|
||||
arity, invocation syntax and other properties that might be part of the type.
|
||||
Transporting arguments as Fusion sequences and factoring out the invocation
|
||||
makes Fusion algorithms applicable to function arguments and also reduces the
|
||||
problem to one invocation syntax and a fixed arity (instead of an arbitrary
|
||||
number of arbitrary arguments times several syntactic variants times additional
|
||||
properties).
|
||||
</p>
|
||||
<p>
|
||||
Transforming an unfused function into its fused counterpart allows n-ary calls
|
||||
from an algorithm that invokes an unary <a href="functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> with <a href="sequences.html" title="Sequences">Sequence</a>
|
||||
arguments.
|
||||
</p>
|
||||
<p>
|
||||
The library provides several function templates to invoke different kinds of
|
||||
functions and adapters to transform them into fused form, respectively. Every
|
||||
variant has a corresponding generator function template that returns an adapter
|
||||
instance for the given argument.
|
||||
</p>
|
||||
<a name="fusion.functional.making_fusion_code_callable_through_a_function_object_interface"></a><h3>
|
||||
<a name="id641592"></a>
|
||||
<a href="functional.html#fusion.functional.making_fusion_code_callable_through_a_function_object_interface">Making
|
||||
Fusion code callable through a function object interface</a>
|
||||
</h3>
|
||||
<p>
|
||||
Transforming a fused function into its unfused counterpart allows to create
|
||||
function objects to accept arbitrary calls. In other words, an unary function
|
||||
object can be implemented instead of (maybe heavily overloaded) function templates
|
||||
or function call operators.
|
||||
</p>
|
||||
<p>
|
||||
The library provides several adapter variants that implement this transformation,
|
||||
ranging from strictly typed to fully generic. The latter provides a reusable,
|
||||
approximate solution to <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
|
||||
Forwarding Problem</a>. Every generic variant has a corresponding generator
|
||||
function template that returns an adapter instance for the given argument.
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="extension.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functional/concepts.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
52
doc/html/fusion/functional/adapters.html
Normal file
52
doc/html/fusion/functional/adapters.html
Normal file
@@ -0,0 +1,52 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Adapters</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functional.html" title="Functional">
|
||||
<link rel="prev" href="invocation/metafunctions/invoke_fobj.html" title="
|
||||
invoke_function_object">
|
||||
<link rel="next" href="adapters/fused.html" title="fused">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">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="invocation/metafunctions/invoke_fobj.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.functional.adapters"></a><a href="adapters.html" title=" Adapters"> Adapters</a></h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="adapters/fused.html">fused</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/fused_procedure.html">fused_procedure</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/fused_function_object.html">fused_function_object</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_generic.html">unfused_generic</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_lvalue_args.html">unfused_lvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_rvalue_args.html">unfused_rvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_typed.html">unfused_typed</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
Function object templates to transform a particular target function.
|
||||
</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="invocation/metafunctions/invoke_fobj.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
249
doc/html/fusion/functional/adapters/fused.html
Normal file
249
doc/html/fusion/functional/adapters/fused.html
Normal file
@@ -0,0 +1,249 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fused</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="../adapters.html" title=" Adapters">
|
||||
<link rel="next" href="fused_procedure.html" title="fused_procedure">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="../adapters.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.fused"></a><a href="fused.html" title="fused">fused</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.fused.description"></a><h5>
|
||||
<a name="id648400"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for <a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a> target functions. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a> that contains the arguments for the target function.
|
||||
</p>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
for a target function object that is const or, if the target function object
|
||||
is held by value, the adapter is const - these semantics have nothing to
|
||||
do with the const qualification of a member function, which is referring
|
||||
to the type of object pointed to by <tt class="literal">this</tt> which is specified
|
||||
with the first element in the sequence passed to the adapter).
|
||||
</p>
|
||||
<p>
|
||||
If the target function is a pointer to a class members, the corresponding
|
||||
object can be specified as a reference, pointer, or smart pointer. In case
|
||||
of the latter, a freestanding <tt class="literal">get_pointer</tt> function must
|
||||
be defined (Boost provides this function for <tt class="literal">std::auto_ptr</tt>
|
||||
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></tt></a>).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.fused.header"></a><h5>
|
||||
<a name="id648530"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused.synopsis"></a><h5>
|
||||
<a name="id648636"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused.template_parameters"></a><h5>
|
||||
<a name="id648716"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A <a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused.model_of"></a><h5>
|
||||
<a name="id648832"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">R</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified <a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">r</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">R</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
|
||||
are accepted by <tt class="computeroutput"><span class="identifier">r</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.fused.expression_semantics"></a><h5>
|
||||
<a name="id649052"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">r</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">R</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">r</span></tt> with the
|
||||
elements in <tt class="computeroutput"><span class="identifier">s</span></tt> as
|
||||
its arguments.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused.example"></a><h5>
|
||||
<a name="id649306"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">fused</span><span class="special"><</span> <a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></tt></a><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="special">></span> <span class="identifier">f</span><span class="special">;</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">f</span><span class="special">(</span><a href="../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2l</span><span class="special">))</span> <span class="special">==</span> <span class="number">3l</span><span class="special">);</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused.see_also"></a><h5>
|
||||
<a name="id649484"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.see_also">See also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="fused_procedure.html" title="fused_procedure"><tt class="computeroutput"><span class="identifier">fused_procedure</span></tt></a></li>
|
||||
<li><a href="fused_function_object.html" title="fused_function_object"><tt class="computeroutput"><span class="identifier">fused_function_object</span></tt></a></li>
|
||||
<li><a href="../invocation/functions/invoke.html" title="invoke"><tt class="computeroutput"><span class="identifier">invoke</span></tt></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../adapters.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
272
doc/html/fusion/functional/adapters/fused_function_object.html
Normal file
272
doc/html/fusion/functional/adapters/fused_function_object.html
Normal file
@@ -0,0 +1,272 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fused_function_object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="fused_procedure.html" title="fused_procedure">
|
||||
<link rel="next" href="unfused_generic.html" title="unfused_generic">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="fused_procedure.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_generic.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.fused_function_object"></a><a href="fused_function_object.html" title="fused_function_object">fused_function_object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.description"></a><h5>
|
||||
<a name="id651278"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for a <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a> that contains the arguments for the target function.
|
||||
</p>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
for an target function object that is const or, if the target function
|
||||
object is held by value, the adapter is const).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.fused_function_object.header"></a><h5>
|
||||
<a name="id651355"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_function_object.synopsis"></a><h5>
|
||||
<a name="id651462"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_function_object</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_function_object.template_parameters"></a><h5>
|
||||
<a name="id651545"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.model_of"></a><h5>
|
||||
<a name="id651661"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">R</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">r</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">R</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
|
||||
are accepted by <tt class="computeroutput"><span class="identifier">r</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.expression_semantics"></a><h5>
|
||||
<a name="id651881"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">r</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">R</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">r</span></tt> with the
|
||||
elements in <tt class="computeroutput"><span class="identifier">s</span></tt> as
|
||||
its arguments.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.example"></a><h5>
|
||||
<a name="id652139"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SeqOfSeqs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <a href="../../algorithms/transformation/metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special"><</span> <span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">SeqOfSeqs</span><span class="special">></span> <span class="keyword">const</span><span class="special">,</span>
|
||||
<span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&></span> <span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">n_ary_transform</span><span class="special">(</span><span class="identifier">SeqOfSeqs</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <a href="../../algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">SeqOfSeqs</span><span class="special">>(</span><span class="identifier">s</span><span class="special">),</span>
|
||||
<span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&>(</span><span class="identifier">f</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">struct</span> <span class="identifier">sub</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</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">result</span><span class="special"><</span> <span class="identifier">Self</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="special">></span>
|
||||
<span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</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">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <span class="identifier">n_ary_transform</span><span class="special">(</span><a href="../../sequences/generation/functions/vector_tie.html" title="vector_tie"><tt class="computeroutput"><span class="identifier">vector_tie</span></tt></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">sub</span><span class="special">()));</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_function_object.see_also"></a><h5>
|
||||
<a name="id653198"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="fused.html" title="fused"><tt class="computeroutput"><span class="identifier">fused</span></tt></a></li>
|
||||
<li><a href="fused_procedure.html" title="fused_procedure"><tt class="computeroutput"><span class="identifier">fused_procedure</span></tt></a></li>
|
||||
<li><a href="../invocation/functions/invoke_fobj.html" title="
|
||||
invoke_function_object"><tt class="computeroutput"><span class="identifier">invoke_function_object</span></tt></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused_procedure.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_generic.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
269
doc/html/fusion/functional/adapters/fused_procedure.html
Normal file
269
doc/html/fusion/functional/adapters/fused_procedure.html
Normal file
@@ -0,0 +1,269 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fused_procedure</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="fused.html" title="fused">
|
||||
<link rel="next" href="fused_function_object.html" title="fused_function_object">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="fused.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.fused_procedure"></a><a href="fused_procedure.html" title="fused_procedure">fused_procedure</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.description"></a><h5>
|
||||
<a name="id649617"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for <a href="../concepts/callable.html" title=" Callable Object">Callable
|
||||
Object</a> target functions. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a> that contains the arguments for the target function.
|
||||
</p>
|
||||
<p>
|
||||
The result is discared and the adapter's return type is <tt class="computeroutput"><span class="keyword">void</span></tt>.
|
||||
</p>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
for a target function object that is const or, if the target function object
|
||||
is held by value, the adapter is const - these semantics have nothing to
|
||||
do with the const qualification of a member function, which is referring
|
||||
to the type of object pointed to by <tt class="literal">this</tt> which is specified
|
||||
with the first element in the sequence passed to the adapter).
|
||||
</p>
|
||||
<p>
|
||||
If the target function is a pointer to a members function, the corresponding
|
||||
object can be specified as a reference, pointer, or smart pointer. In case
|
||||
of the latter, a freestanding <tt class="literal">get_pointer</tt> function must
|
||||
be defined (Boost provides this function for <tt class="literal">std::auto_ptr</tt>
|
||||
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></tt></a>).
|
||||
</p>
|
||||
<p>
|
||||
The target function must not be a pointer to a member object (dereferencing
|
||||
such a pointer without returning anything does not make sense, so this
|
||||
case is not implemented).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.fused_procedure.header"></a><h5>
|
||||
<a name="id649776"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_procedure.synopsis"></a><h5>
|
||||
<a name="id649881"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_procedure</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_procedure.template_parameters"></a><h5>
|
||||
<a name="id649962"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<a href="../concepts/callable.html" title=" Callable Object">Callable Object</a>
|
||||
type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.model_of"></a><h5>
|
||||
<a name="id650076"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">R</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified <a href="../concepts/callable.html" title=" Callable Object">Callable
|
||||
Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">r</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">R</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
|
||||
are accepted by <tt class="computeroutput"><span class="identifier">r</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.expression_semantics"></a><h5>
|
||||
<a name="id650297"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">r</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">R</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">r</span></tt> with the
|
||||
elements in <tt class="computeroutput"><span class="identifier">s</span></tt> as
|
||||
its arguments.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.example"></a><h5>
|
||||
<a name="id650555"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SequenceOfSequences</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">n_ary_for_each</span><span class="special">(</span><span class="identifier">SequenceOfSequences</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><a href="../../sequences/views/zip_view.html" title="zip_view"><tt class="computeroutput"><span class="identifier">zip_view</span></tt></a><span class="special"><</span><span class="identifier">SequenceOfSequences</span><span class="special">>(</span><span class="identifier">s</span><span class="special">),</span>
|
||||
<span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&>(</span><span class="identifier">f</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
|
||||
<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
|
||||
<span class="identifier">n_ary_for_each</span><span class="special">(</span><a href="../../sequences/generation/functions/vector_tie.html" title="vector_tie"><tt class="computeroutput"><span class="identifier">vector_tie</span></tt></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">_1</span> <span class="special">-=</span> <span class="identifier">_2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <a href="../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_procedure.see_also"></a><h5>
|
||||
<a name="id651165"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="fused.html" title="fused"><tt class="computeroutput"><span class="identifier">fused</span></tt></a></li>
|
||||
<li><a href="fused_function_object.html" title="fused_function_object"><tt class="computeroutput"><span class="identifier">fused_function_object</span></tt></a></li>
|
||||
<li><a href="../invocation/functions/invoke_proc.html" title="
|
||||
invoke_procedure"><tt class="computeroutput"><span class="identifier">invoke_procedure</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
298
doc/html/fusion/functional/adapters/unfused_generic.html
Normal file
298
doc/html/fusion/functional/adapters/unfused_generic.html
Normal file
@@ -0,0 +1,298 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_generic</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="fused_function_object.html" title="fused_function_object">
|
||||
<link rel="next" href="unfused_lvalue_args.html" title="unfused_lvalue_args">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="fused_function_object.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_lvalue_args.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_generic"></a><a href="unfused_generic.html" title="unfused_generic">unfused_generic</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.description"></a><h5>
|
||||
<a name="id653334"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> of references that is passed to the target function.
|
||||
Non-const LValue arguments are transported as references to non-const,
|
||||
otherwise references to const are used.
|
||||
</p>
|
||||
<div class="sidebar"><p>
|
||||
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Detecting mutable LValues on a per-argument basis
|
||||
is currently a compile time expensive operation (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
|
||||
Forwarding Problem</a> for details). Therefore, there are two, lightweight
|
||||
and more restricted variants of this class template, <a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><tt class="computeroutput"><span class="identifier">unfused_lvalue_args</span></tt></a> and <a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><tt class="computeroutput"><span class="identifier">unfused_rvalue_args</span></tt></a>.
|
||||
</p></div>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
if the target function object is const - or, in case the target function
|
||||
object is held by value, the adapter is const).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.unfused_generic.header"></a><h5>
|
||||
<a name="id653487"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_generic.synopsis"></a><h5>
|
||||
<a name="id653594"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_generic</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_generic.template_parameters"></a><h5>
|
||||
<a name="id653675"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.model_of"></a><h5>
|
||||
<a name="id653790"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">UG</span></tt></span></dt>
|
||||
<dd><p>
|
||||
The type <tt class="computeroutput"><span class="identifier">unfused_generic</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">ug</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">UG</span></tt>,
|
||||
initialized with <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Arguments to <tt class="computeroutput"><span class="identifier">ug</span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.expression_semantics"></a><h5>
|
||||
<a name="id654058"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">UG</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">UG</span><span class="special">()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">F</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">ug</span><span class="special">(</span><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">f</span></tt> with a
|
||||
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
|
||||
references to the arguments <tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.example"></a><h5>
|
||||
<a name="id654324"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_bound_1st</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special"><</span><span class="identifier">Function</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">fnc_deferred</span><span class="special">;</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">xxx_bound</span><span class="special">;</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
|
||||
<span class="identifier">fused_bound_1st</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">deferred</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">bound</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">fnc_deferred</span><span class="special">(</span><span class="identifier">deferred</span><span class="special">),</span> <span class="identifier">xxx_bound</span><span class="special">(</span><span class="identifier">bound</span><span class="special">)</span>
|
||||
<span class="special">{</span> <span class="special">}</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">></span>
|
||||
<span class="special">:</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span><span class="special"><</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="special">></span>
|
||||
<span class="special">{</span> <span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">invoke</span><span class="special">(</span><span class="identifier">fnc_deferred</span><span class="special">,</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span><span class="identifier">xxx_bound</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">unfused_generic</span><span class="special"><</span> <span class="identifier">fused_bound_1st</span><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="identifier">bind_1st</span><span class="special">(</span><span class="identifier">Function</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">x</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">unfused_generic</span><span class="special"><</span> <span class="identifier">fused_bound_1st</span><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">>(</span>
|
||||
<span class="identifier">fused_bound_1st</span><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">x</span><span class="special">)</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">test_func</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">c</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="identifier">c</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(&</span> <span class="identifier">test_func</span><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> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span><span class="special"><</span><span class="keyword">float</span><span class="special">>(),</span> <span class="number">1</span><span class="special">)(</span><span class="number">0.5f</span><span class="special">)</span> <span class="special">==</span> <span class="number">1.5f</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_generic.see_also"></a><h5>
|
||||
<a name="id655720"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><tt class="computeroutput"><span class="identifier">unfused_lvalue_args</span></tt></a></li>
|
||||
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><tt class="computeroutput"><span class="identifier">unfused_rvalue_args</span></tt></a></li>
|
||||
<li><a href="unfused_typed.html" title="unfused_typed"><tt class="computeroutput"><span class="identifier">unfused_typed</span></tt></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><tt class="computeroutput"><span class="identifier">deduce_sequence</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused_function_object.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_lvalue_args.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
266
doc/html/fusion/functional/adapters/unfused_lvalue_args.html
Normal file
266
doc/html/fusion/functional/adapters/unfused_lvalue_args.html
Normal file
@@ -0,0 +1,266 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_lvalue_args</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="unfused_generic.html" title="unfused_generic">
|
||||
<link rel="next" href="unfused_rvalue_args.html" title="unfused_rvalue_args">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="unfused_generic.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_rvalue_args.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args"></a><a href="unfused_lvalue_args.html" title="unfused_lvalue_args">unfused_lvalue_args</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.description"></a><h5>
|
||||
<a name="id655877"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> of references that is passed to the target function
|
||||
object. Only LValue arguments are accepted.
|
||||
</p>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
if the target function object is const - or, in case the target function
|
||||
object is held by value, the adapter is const).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.header"></a><h5>
|
||||
<a name="id655956"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.synopsis"></a><h5>
|
||||
<a name="id656063"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_lvalue_args</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.template_parameters"></a><h5>
|
||||
<a name="id656146"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.model_of"></a><h5>
|
||||
<a name="id656261"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">UL</span></tt></span></dt>
|
||||
<dd><p>
|
||||
The type <tt class="computeroutput"><span class="identifier">unfused_lvalue_args</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">ul</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">UL</span></tt>,
|
||||
initialized with <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Arguments to <tt class="computeroutput"><span class="identifier">ul</span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.expression_semantics"></a><h5>
|
||||
<a name="id656531"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">UL</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">UL</span><span class="special">()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">F</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">ul</span><span class="special">(</span><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">f</span></tt> with a
|
||||
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
|
||||
references to the arguments <tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.example"></a><h5>
|
||||
<a name="id656798"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">fused_incrementer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</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>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">s</span><span class="special">,++</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">unfused_lvalue_args</span><span class="special"><</span><span class="identifier">fused_incrementer</span><span class="special">></span> <span class="identifier">increment</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
|
||||
<span class="identifier">increment</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">3</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Y'</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.see_also"></a><h5>
|
||||
<a name="id657296"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><tt class="computeroutput"><span class="identifier">unfused_rvalue_args</span></tt></a></li>
|
||||
<li><a href="unfused_generic.html" title="unfused_generic"><tt class="computeroutput"><span class="identifier">unfused_generic</span></tt></a></li>
|
||||
<li><a href="unfused_typed.html" title="unfused_typed"><tt class="computeroutput"><span class="identifier">unfused_typed</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_generic.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_rvalue_args.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
266
doc/html/fusion/functional/adapters/unfused_rvalue_args.html
Normal file
266
doc/html/fusion/functional/adapters/unfused_rvalue_args.html
Normal file
@@ -0,0 +1,266 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_rvalue_args</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="unfused_lvalue_args.html" title="unfused_lvalue_args">
|
||||
<link rel="next" href="unfused_typed.html" title="unfused_typed">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="unfused_lvalue_args.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args"></a><a href="unfused_rvalue_args.html" title="unfused_rvalue_args">unfused_rvalue_args</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.description"></a><h5>
|
||||
<a name="id657410"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> of references that is passed to the target function
|
||||
object. All referenced objects in the sequence are const qualified.
|
||||
</p>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
if the target function object is const - or, in case the target function
|
||||
object is held by value, the adapter is const).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.header"></a><h5>
|
||||
<a name="id657489"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.synopsis"></a><h5>
|
||||
<a name="id657596"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_rvalue_args</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.template_parameters"></a><h5>
|
||||
<a name="id657678"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.model_of"></a><h5>
|
||||
<a name="id657793"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">UR</span></tt></span></dt>
|
||||
<dd><p>
|
||||
The type <tt class="computeroutput"><span class="identifier">unfused_rvalue_args</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">ur</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">UR</span></tt>,
|
||||
initialized with <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Arguments to <tt class="computeroutput"><span class="identifier">ur</span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.expression_semantics"></a><h5>
|
||||
<a name="id658063"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">UR</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">UR</span><span class="special">()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">F</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">ur</span><span class="special">(</span><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">f</span></tt> with a
|
||||
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
|
||||
references to the arguments <tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.example"></a><h5>
|
||||
<a name="id658330"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">sequence_printer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</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>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</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">s</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="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">unfused_rvalue_args</span><span class="special"><</span><span class="identifier">sequence_printer</span><span class="special">></span> <span class="identifier">print</span><span class="special">;</span>
|
||||
<span class="identifier">print</span><span class="special">(</span><span class="number">24</span><span class="special">,</span><span class="string">"bottles of beer in"</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="string">"box."</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.see_also"></a><h5>
|
||||
<a name="id658728"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><tt class="computeroutput"><span class="identifier">unfused_lvalue_args</span></tt></a></li>
|
||||
<li><a href="unfused_generic.html" title="unfused_generic"><tt class="computeroutput"><span class="identifier">unfused_generic</span></tt></a></li>
|
||||
<li><a href="unfused_typed.html" title="unfused_typed"><tt class="computeroutput"><span class="identifier">unfused_typed</span></tt></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><tt class="computeroutput"><span class="identifier">deduce_sequence</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_lvalue_args.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
347
doc/html/fusion/functional/adapters/unfused_typed.html
Normal file
347
doc/html/fusion/functional/adapters/unfused_typed.html
Normal file
@@ -0,0 +1,347 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_typed</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="unfused_rvalue_args.html" title="unfused_rvalue_args">
|
||||
<link rel="next" href="../generation.html" title="Generation">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="unfused_rvalue_args.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_typed"></a><a href="unfused_typed.html" title="unfused_typed">unfused_typed</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.description"></a><h5>
|
||||
<a name="id658883"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> that is passed to the target function object.
|
||||
</p>
|
||||
<p>
|
||||
The call operators of esulting function objects are strictly typed (in
|
||||
other words, non-templatized) with the types from a <a href="../../sequences.html" title="Sequences">Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
The type of the target function is allowed to be const qualified or a reference.
|
||||
Const qualification is preserved and propagated appropriately (in other
|
||||
words, only const versions of <tt class="literal">operator()</tt> can be used
|
||||
if the target function object is const - or, in case the target function
|
||||
object is held by value, the adapter is const).
|
||||
</p>
|
||||
<div class="sidebar"><p>
|
||||
<span class="inlinemediaobject"><img src="../../../images/note.png" alt="note"></span> For Microsoft Visual C++ 7.1 (Visual Studio 2003)
|
||||
the detection of the Function Object's const qualification easily causes
|
||||
an internal error. Therefore the adapter is always treated as if it was
|
||||
const.
|
||||
</p></div>
|
||||
<div class="sidebar"><p>
|
||||
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> If the type sequence passed to this template contains
|
||||
non-reference elements, the element is copied only once - the call operator's
|
||||
signature is optimized automatically to avoid by-value parameters.
|
||||
</p></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.header"></a><h5>
|
||||
<a name="id659034"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_typed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_typed.synopsis"></a><h5>
|
||||
<a name="id659140"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Sequence</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_typed</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_typed.template_parameters"></a><h5>
|
||||
<a name="id659239"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Parameter
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Description
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Default
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Function</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.model_of"></a><h5>
|
||||
<a name="id659397"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object convertible to <tt class="computeroutput"><span class="identifier">F</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">S</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of parameter types
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">UT</span></tt></span></dt>
|
||||
<dd><p>
|
||||
The type <tt class="computeroutput"><span class="identifier">unfused_typed</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">S</span><span class="special">></span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">ut</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An instance of <tt class="computeroutput"><span class="identifier">UT</span></tt>,
|
||||
initialized with <tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Arguments to <tt class="computeroutput"><span class="identifier">ut</span></tt>, convertible
|
||||
to the types in <tt class="computeroutput"><span class="identifier">S</span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.expression_semantics"></a><h5>
|
||||
<a name="id659720"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">UT</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">UT</span><span class="special">()</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <tt class="computeroutput"><span class="identifier">F</span></tt>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">ut</span><span class="special">(</span><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <tt class="computeroutput"><span class="identifier">f</span></tt> with an
|
||||
instance of <tt class="computeroutput"><span class="identifier">S</span></tt> (or
|
||||
a subsequence of <tt class="computeroutput"><span class="identifier">S</span></tt>
|
||||
starting at the first element, if fewer arguments are given and
|
||||
the overload hasn't been disabled) initialized with <tt class="computeroutput"><span class="identifier">a0</span></tt>...<tt class="computeroutput"><span class="identifier">aN</span></tt>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.example"></a><h5>
|
||||
<a name="id660003"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">add_assign</span> <span class="comment">// applies operator+=
|
||||
</span><span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span> <span class="comment">// for simplicity
|
||||
</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">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">lhs</span> <span class="special">+=</span> <span class="identifier">rhs</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Tie</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_parallel_adder</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">Tie</span> <span class="identifier">tie_dest</span><span class="special">;</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">explicit</span> <span class="identifier">fused_parallel_adder</span><span class="special">(</span><span class="identifier">Tie</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">dest</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">tie_dest</span><span class="special">(</span><span class="identifier">dest</span><span class="special">)</span>
|
||||
<span class="special">{</span> <span class="special">}</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">zip</span><span class="special">(</span><span class="identifier">tie_dest</span><span class="special">,</span><span class="identifier">s</span><span class="special">),</span> <span class="identifier">fused</span><span class="special"><</span><span class="identifier">add_assign</span><span class="special">>()</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="comment">// accepts a tie and creates a typed function object from it
|
||||
</span><span class="keyword">struct</span> <span class="identifier">fused_parallel_adder_maker</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">seq</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">unfused_typed</span><span class="special"><</span> <span class="identifier">fused_parallel_adder</span><span class="special"><</span><span class="identifier">seq</span><span class="special">>,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span><span class="special"><</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">tie</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span><span class="special">(</span>
|
||||
<span class="identifier">fused_parallel_adder</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>(</span><span class="identifier">tie</span><span class="special">)</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="identifier">unfused_lvalue_args</span><span class="special"><</span><span class="identifier">fused_parallel_adder_maker</span><span class="special">></span> <span class="identifier">parallel_add</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
|
||||
<span class="comment">// the second call is strictly typed with the types deduced from the
|
||||
</span> <span class="comment">// first call
|
||||
</span> <span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">);</span>
|
||||
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)();</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">8</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Z'</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_typed.see_also"></a><h5>
|
||||
<a name="id661493"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.see_also">See also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_generic.html" title="unfused_generic"><tt class="computeroutput"><span class="identifier">unfused_generic</span></tt></a></li>
|
||||
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><tt class="computeroutput"><span class="identifier">unfused_lvalue_args</span></tt></a></li>
|
||||
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><tt class="computeroutput"><span class="identifier">unfused_rvalue_args</span></tt></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><tt class="computeroutput"><span class="identifier">deduce_sequence</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_rvalue_args.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
48
doc/html/fusion/functional/concepts.html
Normal file
48
doc/html/fusion/functional/concepts.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Concepts</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functional.html" title="Functional">
|
||||
<link rel="prev" href="../functional.html" title="Functional">
|
||||
<link rel="next" href="concepts/callable.html" title=" Callable Object">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">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="../functional.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.functional.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="concepts/callable.html"> Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="concepts/reg_callable.html"> Regular Callable
|
||||
Object</a></span></dt>
|
||||
<dt><span class="section"><a href="concepts/def_callable.html"> Deferred
|
||||
Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
|
||||
Object</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functional.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
64
doc/html/fusion/functional/concepts/callable.html
Normal file
64
doc/html/fusion/functional/concepts/callable.html
Normal file
@@ -0,0 +1,64 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Callable Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="../concepts.html" title="Concepts">
|
||||
<link rel="next" href="reg_callable.html" title=" Regular Callable
|
||||
Object">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="../concepts.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.callable"></a><a href="callable.html" title=" Callable Object"> Callable Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.callable.description"></a><h5>
|
||||
<a name="id641686"></a>
|
||||
<a href="callable.html#fusion.functional.concepts.callable.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A pointer to a function, a pointer to member function, a pointer to member
|
||||
data, or a class type whose objects can appear immediately to the left
|
||||
of a function call operator.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.callable.models"></a><h5>
|
||||
<a name="id641717"></a>
|
||||
<a href="callable.html#fusion.functional.concepts.callable.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
function pointer types
|
||||
</li>
|
||||
<li>
|
||||
member (function or data) pointer types
|
||||
</li>
|
||||
<li>
|
||||
all kinds of function objects
|
||||
</li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
146
doc/html/fusion/functional/concepts/def_callable.html
Normal file
146
doc/html/fusion/functional/concepts/def_callable.html
Normal file
@@ -0,0 +1,146 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Deferred
|
||||
Callable Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="reg_callable.html" title=" Regular Callable
|
||||
Object">
|
||||
<link rel="next" href="poly.html" title=" Polymorphic Function
|
||||
Object">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="reg_callable.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.def_callable"></a><a href="def_callable.html" title=" Deferred
|
||||
Callable Object"> Deferred
|
||||
Callable Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.def_callable.description"></a><h5>
|
||||
<a name="id642200"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="callable.html" title=" Callable Object">Callable Object</a>
|
||||
types that work with <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top">Boost.ResultOf</a>
|
||||
to determine the result of a call.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.def_callable.refinement_of"></a><h5>
|
||||
<a name="id642246"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.refinement_of">Refinement
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
|
||||
<div class="sidebar"><p>
|
||||
note Once C++ supports the <tt class="literal">decltype</tt> keyword, all models
|
||||
of <a href="callable.html" title=" Callable Object">Callable Object</a>
|
||||
will also be models of <a href="def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>, because function objects won't need client-side
|
||||
support for <tt class="computeroutput"><span class="identifier">result_of</span></tt>.
|
||||
</p></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified Deferred Callable Object type
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Argument types
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a1</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Objects or references to objects with types <tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>i is <tt class="computeroutput"><span class="identifier">A</span></tt>i <tt class="computeroutput"><span class="special">&</span></tt>
|
||||
if <tt class="computeroutput"><span class="identifier">a</span></tt>i is an LValue,
|
||||
same as <tt class="computeroutput"><span class="identifier">A</span></tt>i, otherwise
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.concepts.def_callable.expression_requirements"></a><h5>
|
||||
<a name="id642552"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Type
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><tt class="computeroutput"><span class="special"><</span> <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Result of a call with <tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt>-typed
|
||||
arguments
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.concepts.def_callable.models"></a><h5>
|
||||
<a name="id642736"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<a href="poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> types
|
||||
</li>
|
||||
<li>
|
||||
member (function or data) pointer types
|
||||
</li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reg_callable.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
160
doc/html/fusion/functional/concepts/poly.html
Normal file
160
doc/html/fusion/functional/concepts/poly.html
Normal file
@@ -0,0 +1,160 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Polymorphic Function
|
||||
Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="def_callable.html" title=" Deferred
|
||||
Callable Object">
|
||||
<link rel="next" href="../invocation.html" title="Invocation">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="def_callable.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.poly"></a><a href="poly.html" title=" Polymorphic Function
|
||||
Object"> Polymorphic Function
|
||||
Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.poly.description"></a><h5>
|
||||
<a name="id642800"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A non-member-pointer <a href="def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a> type.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.poly.refinement_of"></a><h5>
|
||||
<a name="id642839"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.refinement_of">Refinement
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="reg_callable.html" title=" Regular Callable
|
||||
Object">Regular Callable
|
||||
Object</a></li>
|
||||
<li><a href="def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const-qualified Polymorphic Function Object type
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object or reference to an object of type F
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Argument types
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a1</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Objects or references to objects with types <tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt>
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
<tt class="computeroutput"><span class="identifier">T</span></tt>i is <tt class="computeroutput"><span class="identifier">A</span></tt>i <tt class="computeroutput"><span class="special">&</span></tt>
|
||||
if <tt class="computeroutput"><span class="identifier">a</span></tt>i is an LValue,
|
||||
same as <tt class="computeroutput"><span class="identifier">A</span></tt>i, otherwise
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.concepts.poly.expression_requirements"></a><h5>
|
||||
<a name="id643131"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Return Type
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Runtime Complexity
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">result_of</span><span class="special"><</span>
|
||||
<span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span><span class="special">,</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Unspecified
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.concepts.poly.models"></a><h5>
|
||||
<a name="id643329"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
function pointers
|
||||
</li>
|
||||
<li>
|
||||
function objects of the Standard Library
|
||||
</li>
|
||||
<li>
|
||||
all Fusion <a href="../adapters.html" title=" Adapters">functional adapters</a>
|
||||
</li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="def_callable.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
141
doc/html/fusion/functional/concepts/reg_callable.html
Normal file
141
doc/html/fusion/functional/concepts/reg_callable.html
Normal file
@@ -0,0 +1,141 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Regular Callable
|
||||
Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="callable.html" title=" Callable Object">
|
||||
<link rel="next" href="def_callable.html" title=" Deferred
|
||||
Callable Object">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="callable.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.reg_callable"></a><a href="reg_callable.html" title=" Regular Callable
|
||||
Object"> Regular Callable
|
||||
Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.reg_callable.description"></a><h5>
|
||||
<a name="id641778"></a>
|
||||
<a href="reg_callable.html#fusion.functional.concepts.reg_callable.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A non-member-pointer <a href="callable.html" title=" Callable Object">Callable
|
||||
Object</a> type: A pointer to a function or a class type whose objects
|
||||
can appear immediately to the left of a function call operator.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.reg_callable.refinement_of"></a><h5>
|
||||
<a name="id641819"></a>
|
||||
<a href="reg_callable.html#fusion.functional.concepts.reg_callable.refinement_of">Refinement
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd><p>
|
||||
A possibly const qualified Deferred Callable Object type
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd><p>
|
||||
An object or reference to an object of type F
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Argument types
|
||||
</p></dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">a1</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span></tt></span></dt>
|
||||
<dd><p>
|
||||
Objects or references to objects with types <tt class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></tt>
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.concepts.reg_callable.expression_requirements"></a><h5>
|
||||
<a name="id642005"></a>
|
||||
<a href="reg_callable.html#fusion.functional.concepts.reg_callable.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Return Type
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Runtime Complexity
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Unspecified
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Unspecified
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.concepts.reg_callable.models"></a><h5>
|
||||
<a name="id642141"></a>
|
||||
<a href="reg_callable.html#fusion.functional.concepts.reg_callable.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
function pointer types
|
||||
</li>
|
||||
<li>
|
||||
all kinds of function objects
|
||||
</li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="callable.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
43
doc/html/fusion/functional/generation.html
Normal file
43
doc/html/fusion/functional/generation.html
Normal file
@@ -0,0 +1,43 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Generation</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functional.html" title="Functional">
|
||||
<link rel="prev" href="adapters/unfused_typed.html" title="unfused_typed">
|
||||
<link rel="next" href="generation/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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../more/faq.htm">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="adapters/unfused_typed.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.functional.generation"></a><a href="generation.html" title="Generation">Generation</a></h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="generation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="generation/metafunctions.html">Metafunctions</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adapters/unfused_typed.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
54
doc/html/fusion/functional/generation/functions.html
Normal file
54
doc/html/fusion/functional/generation/functions.html
Normal file
@@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../generation.html" title="Generation">
|
||||
<link rel="prev" href="../generation.html" title="Generation">
|
||||
<link rel="next" href="functions/mk_fused.html" title="
|
||||
make_fused">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../more/faq.htm">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="../generation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/mk_fused.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.generation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="functions/mk_fused.html">
|
||||
make_fused</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/mk_fused_proc.html">
|
||||
make_fused_procedure</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/mk_fused_fobj.html">
|
||||
make_fused_function_object</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/mk_unfused_genrc.html">
|
||||
make_unfused_generic</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/mk_unfused_lvargs.html">
|
||||
make_unfused_lvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="functions/mk_unfused_rvargs.html">
|
||||
make_unfused_rvalue_args</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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../generation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/mk_fused.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
158
doc/html/fusion/functional/generation/functions/mk_fused.html
Normal file
158
doc/html/fusion/functional/generation/functions/mk_fused.html
Normal file
@@ -0,0 +1,158 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>
|
||||
make_fused</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" 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="mk_fused_proc.html" title="
|
||||
make_fused_procedure">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_proc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.functional.generation.functions.mk_fused"></a><a href="mk_fused.html" title="
|
||||
make_fused">
|
||||
make_fused</a></h5></div></div></div>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.description"></a><h6>
|
||||
<a name="id661691"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Creates a <a href="../../adapters/fused.html" title="fused"><tt class="computeroutput"><span class="identifier">fused</span></tt></a> adapter for a given <a href="../../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable Object</a>.
|
||||
The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
|
||||
conversion</em></span></a> is applied to the target function.
|
||||
</p>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.synopsis"></a><h6>
|
||||
<a name="id661759"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.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">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/mk_fused.html" title="
|
||||
make_fused"><tt class="computeroutput"><span class="identifier">make_fused</span></tt></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">make_fused</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.parameters"></a><h6>
|
||||
<a name="id661913"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.parameters">Parameters</a>
|
||||
</h6>
|
||||
<div class="informaltable"><table class="table">
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Model of <a href="../../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The function to transform.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.expression_semantics"></a><h6>
|
||||
<a name="id662030"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">make_fused</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A specialization of <a href="../../adapters/fused.html" title="fused"><tt class="computeroutput"><span class="identifier">fused</span></tt></a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a <a href="../../adapters/fused.html" title="fused"><tt class="computeroutput"><span class="identifier">fused</span></tt></a> adapter for <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.header"></a><h6>
|
||||
<a name="id662155"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.example"></a><h6>
|
||||
<a name="id662262"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">float</span> <span class="identifier">sub</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">-</span> <span class="identifier">b</span><span class="special">;</span> <span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a href="../../../algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../algorithms/transformation/functions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused</span><span class="special">(&</span> <span class="identifier">sub</span><span class="special">)));</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a href="../../../algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../algorithms/transformation/functions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused</span><span class="special">(</span><a href="http://www.sgi.com/tech/stl/minus.html" target="_top"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">minus</span></tt></a><span class="special"><</span><span class="keyword">float</span><span class="special">>())));</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused.see_also"></a><h6>
|
||||
<a name="id662867"></a>
|
||||
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.see_also">See
|
||||
also</a>
|
||||
</h6>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../../adapters/fused.html" title="fused"><tt class="computeroutput"><span class="identifier">fused</span></tt></a></li>
|
||||
<li><a href="../../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
<li><a href="../metafunctions/mk_fused.html" title="
|
||||
make_fused"><tt class="computeroutput"><span class="identifier">make_fused</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_proc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,174 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>
|
||||
make_fused_function_object</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="mk_fused_proc.html" title="
|
||||
make_fused_procedure">
|
||||
<link rel="next" href="mk_unfused_genrc.html" title="
|
||||
make_unfused_generic">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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="mk_fused_proc.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mk_unfused_genrc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj"></a><a href="mk_fused_fobj.html" title="
|
||||
make_fused_function_object">
|
||||
make_fused_function_object</a></h5></div></div></div>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.description"></a><h6>
|
||||
<a name="id663950"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Creates a <a href="../../adapters/fused_function_object.html" title="fused_function_object"><tt class="computeroutput"><span class="identifier">fused_function_object</span></tt></a> adapter
|
||||
for a given <a href="../../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
|
||||
conversion</em></span></a> is applied to the target function.
|
||||
</p>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.synopsis"></a><h6>
|
||||
<a name="id664021"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.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">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/mk_fused_fobj.html" title="
|
||||
make_fused_function_object"><tt class="computeroutput"><span class="identifier">make_fused_function_object</span></tt></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.parameters"></a><h6>
|
||||
<a name="id664177"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.parameters">Parameters</a>
|
||||
</h6>
|
||||
<div class="informaltable"><table class="table">
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Model of <a href="../../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The function to transform.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.expression_semantics"></a><h6>
|
||||
<a name="id664292"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A specialization of <a href="../../adapters/fused_function_object.html" title="fused_function_object"><tt class="computeroutput"><span class="identifier">fused_function_object</span></tt></a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a <a href="../../adapters/fused_function_object.html" title="fused_function_object"><tt class="computeroutput"><span class="identifier">fused_function_object</span></tt></a> adapter
|
||||
for <tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.header"></a><h6>
|
||||
<a name="id664420"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.example"></a><h6>
|
||||
<a name="id664528"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">sub</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</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">result</span><span class="special"><</span> <span class="identifier">Self</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="special">></span>
|
||||
<span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</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">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <a href="../../../algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../algorithms/transformation/functions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">make_fused_function_object</span><span class="special">(</span><span class="identifier">sub</span><span class="special">())));</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_fobj.see_also"></a><h6>
|
||||
<a name="id665270"></a>
|
||||
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.see_also">See
|
||||
also</a>
|
||||
</h6>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../../adapters/fused_function_object.html" title="fused_function_object"><tt class="computeroutput"><span class="identifier">fused_function_object</span></tt></a></li>
|
||||
<li><a href="../../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
<li><a href="../metafunctions/mk_fused_fobj.html" title="
|
||||
make_fused_function_object"><tt class="computeroutput"><span class="identifier">make_fused_function_object</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="mk_fused_proc.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mk_unfused_genrc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,154 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>
|
||||
make_fused_procedure</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
|
||||
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
|
||||
<link rel="up" href="../functions.html" title="Functions">
|
||||
<link rel="prev" href="mk_fused.html" title="
|
||||
make_fused">
|
||||
<link rel="next" href="mk_fused_fobj.html" title="
|
||||
make_fused_function_object">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
|
||||
<td align="center"><a href="../../../../../../../../more/faq.htm">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="mk_fused.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_fobj.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc"></a><a href="mk_fused_proc.html" title="
|
||||
make_fused_procedure">
|
||||
make_fused_procedure</a></h5></div></div></div>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.description"></a><h6>
|
||||
<a name="id662984"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Creates a <a href="../../adapters/fused_procedure.html" title="fused_procedure"><tt class="computeroutput"><span class="identifier">fused_procedure</span></tt></a> adapter for
|
||||
a given <a href="../../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>. The usual <a href="../../../notes.html#fusion.notes.element_conversion"><span class="emphasis"><em>element
|
||||
conversion</em></span></a> applied to the target function.
|
||||
</p>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.synopsis"></a><h6>
|
||||
<a name="id663054"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.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">inline</span> <span class="keyword">typename</span> <a href="../metafunctions/mk_fused_proc.html" title="
|
||||
make_fused_procedure"><tt class="computeroutput"><span class="identifier">make_fused_procedure</span></tt></a><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">F</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.parameters"></a><h6>
|
||||
<a name="id663210"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.parameters">Parameters</a>
|
||||
</h6>
|
||||
<div class="informaltable"><table class="table">
|
||||
<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>
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Model of <a href="../../concepts/callable.html" title=" Callable Object">Callable
|
||||
Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The function to transform.
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.expression_semantics"></a><h6>
|
||||
<a name="id663326"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><b>Return type</b></span>: A specialization of <a href="../../adapters/fused_procedure.html" title="fused_procedure"><tt class="computeroutput"><span class="identifier">fused_procedure</span></tt></a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><b>Semantics</b></span>: Returns a <a href="../../adapters/fused_procedure.html" title="fused_procedure"><tt class="computeroutput"><span class="identifier">fused_procedure</span></tt></a> adapter for
|
||||
<tt class="computeroutput"><span class="identifier">f</span></tt>.
|
||||
</p>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.header"></a><h6>
|
||||
<a name="id663452"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.example"></a><h6>
|
||||
<a name="id663559"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></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">v</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="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
|
||||
<span class="identifier">make_fused_procedure</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+=</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">)(</span><span class="identifier">v</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><a href="../../../sequences/intrinsics/functions/front.html" title="front"><tt class="computeroutput"><span class="identifier">front</span></tt></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.generation.functions.mk_fused_proc.see_also"></a><h6>
|
||||
<a name="id663830"></a>
|
||||
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.see_also">See
|
||||
also</a>
|
||||
</h6>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../../adapters/fused_procedure.html" title="fused_procedure"><tt class="computeroutput"><span class="identifier">fused_procedure</span></tt></a></li>
|
||||
<li><a href="../../../support/deduce.html" title="deduce"><tt class="computeroutput"><span class="identifier">deduce</span></tt></a></li>
|
||||
<li><a href="../metafunctions/mk_fused_proc.html" title="
|
||||
make_fused_procedure"><tt class="computeroutput"><span class="identifier">make_fused_procedure</span></tt></a></li>
|
||||
</ul></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"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="mk_fused.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mk_fused_fobj.html"><img src="../../../../../../../../doc/html/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