1<?xml version="1.0" encoding="utf-8" ?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6<meta name="generator" content="Docutils 0.7: http://docutils.sourceforge.net/" /> 7<title>The MPL Reference Manual: zip_view</title> 8<link rel="stylesheet" href="../style.css" type="text/css" /> 9</head> 10<body class="docframe refmanual"> 11<table class="header"><tr class="header"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./transform-view.html" class="navigation-link">Prev</a> <a href="./intrinsic-metafunctions.html" class="navigation-link">Next</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./transform-view.html" class="navigation-link">Back</a> Along</span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./views.html" class="navigation-link">Up</a> <a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td> 12<td class="header-group page-location"><a href="../refmanual.html" class="navigation-link">Front Page</a> / <a href="./sequences.html" class="navigation-link">Sequences</a> / <a href="./views.html" class="navigation-link">Views</a> / <a href="./zip-view.html" class="navigation-link">zip_view</a></td> 13</tr></table><div class="header-separator"></div> 14<div class="section" id="zip-view"> 15<h1><a class="toc-backref" href="./views.html#id1423">zip_view</a></h1> 16<div class="section" id="id167"> 17<h3><a class="subsection-title" href="#synopsis" name="synopsis">Synopsis</a></h3> 18<pre class="literal-block"> 19template< 20 typename <a href="./sequences.html" class="identifier">Sequences</a> 21 > 22struct <a href="./zip-view.html" class="identifier">zip_view</a> 23{ 24 // <em>unspecified</em> 25 // <em>...</em> 26}; 27</pre> 28</div> 29<div class="section" id="id168"> 30<h3><a class="subsection-title" href="#description" name="description">Description</a></h3> 31<p>Provides a "zipped" view onto several sequences; that is, represents several 32sequences as a single sequence of elements each of which, in turn, 33is a sequence of the corresponding <tt class="literal"><span class="pre"><a href="./sequences.html" class="identifier">Sequences</a></span></tt>' elements.</p> 34</div> 35<div class="section" id="id169"> 36<h3><a class="subsection-title" href="#header" name="header">Header</a></h3> 37<pre class="literal-block"> 38#include <<a href="../../../../boost/mpl/zip_view.hpp" class="header">boost/mpl/zip_view.hpp</a>> 39</pre> 40</div> 41<div class="section" id="id170"> 42<h3><a class="subsection-title" href="#model-of" name="model-of">Model of</a></h3> 43<ul class="simple"> 44<li><a class="reference internal" href="./forward-sequence.html">Forward Sequence</a></li> 45</ul> 46</div> 47<div class="section" id="id171"> 48<h3><a class="subsection-title" href="#parameters" name="parameters">Parameters</a></h3> 49<table border="1" class="docutils table"> 50<colgroup> 51<col width="19%" /> 52<col width="43%" /> 53<col width="38%" /> 54</colgroup> 55<thead valign="bottom"> 56<tr><th class="head">Parameter</th> 57<th class="head">Requirement</th> 58<th class="head">Description</th> 59</tr> 60</thead> 61<tbody valign="top"> 62<tr><td><tt class="literal"><span class="pre"><a href="./sequences.html" class="identifier">Sequences</a></span></tt></td> 63<td>A <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a> of 64<a class="reference internal" href="./forward-sequence.html">Forward Sequence</a>s</td> 65<td>Sequences to be "zipped".</td> 66</tr> 67</tbody> 68</table> 69</div> 70<div class="section" id="id172"> 71<h3><a class="subsection-title" href="#expression-semantics" name="expression-semantics">Expression semantics</a></h3> 72<p>The semantics of an expression are defined only 73where they differ from, or are not defined in <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a>.</p> 74<p>In the following table, <tt class="literal"><span class="pre">v</span></tt> is an instance of <tt class="literal"><span class="pre"><a href="./zip-view.html" class="identifier">zip_view</a></span></tt>, <tt class="literal"><span class="pre">seq</span></tt> a <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a> of <tt class="literal"><span class="pre">n</span></tt> 75<a class="reference internal" href="./forward-sequence.html">Forward Sequence</a>s.</p> 76<table border="1" class="docutils table"> 77<colgroup> 78<col width="34%" /> 79<col width="66%" /> 80</colgroup> 81<thead valign="bottom"> 82<tr><th class="head">Expression</th> 83<th class="head">Semantics</th> 84</tr> 85</thead> 86<tbody valign="top"> 87<tr><td><pre class="first last literal-block"> 88<a href="./zip-view.html" class="identifier">zip_view</a><seq> 89<a href="./zip-view.html" class="identifier">zip_view</a><seq>::type 90</pre> 91</td> 92<td>A lazy <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a> <tt class="literal"><span class="pre">v</span></tt> such that for each <tt class="literal"><span class="pre">i</span></tt> 93in [<tt class="literal"><span class="pre"><a href="./begin.html" class="identifier">begin</a><v>::type</span></tt>, <tt class="literal"><span class="pre"><a href="./end.html" class="identifier">end</a><v>::type</span></tt>) and for each <tt class="literal"><span class="pre">j</span></tt> in 94[<tt class="literal"><span class="pre"><a href="./begin.html" class="identifier">begin</a><seq>::type</span></tt>, <tt class="literal"><span class="pre"><a href="./end.html" class="identifier">end</a><seq>::type</span></tt>) 95<tt class="literal"><span class="pre"><a href="./deref.html" class="identifier">deref</a><i>::type</span></tt> is identical to 96<tt class="literal"><span class="pre"><a href="./transform.html" class="identifier">transform</a><</span> <span class="pre"><a href="./deref.html" class="identifier">deref</a><j>::type,</span> <span class="pre"><a href="./deref.html" class="identifier">deref</a><<a href="./placeholders.html" class="identifier">_1</a>></span> <span class="pre">>::type</span></tt>.</td> 97</tr> 98<tr><td><tt class="literal"><span class="pre"><a href="./size.html" class="identifier">size</a><v>::type</span></tt></td> 99<td><p class="first">The size of <tt class="literal"><span class="pre">v</span></tt>; <tt class="literal"><span class="pre"><a href="./size.html" class="identifier">size</a><v>::value</span></tt> is equal to</p> 100<pre class="literal-block"> 101<a href="./deref.html" class="identifier">deref</a>< <a href="./min-element.html" class="identifier">min_element</a>< 102 <a href="./transform-view.html" class="identifier">transform_view</a>< seq, <a href="./size.html" class="identifier">size</a><<a href="./placeholders.html" class="identifier">_1</a>> > 103 >::type >::type::value; 104</pre> 105<p class="last">linear complexity; see <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a>.</p> 106</td> 107</tr> 108</tbody> 109</table> 110</div> 111<div class="section" id="id173"> 112<h3><a class="subsection-title" href="#example" name="example">Example</a></h3> 113<p>Element-wise sum of three vectors.</p> 114<pre class="literal-block"> 115typedef <a href="./vector-c.html" class="identifier">vector_c</a><int,1,2,3,4,5> v1; 116typedef <a href="./vector-c.html" class="identifier">vector_c</a><int,5,4,3,2,1> v2; 117typedef <a href="./vector-c.html" class="identifier">vector_c</a><int,1,1,1,1,1> v3; 118 119typedef <a href="./transform-view.html" class="identifier">transform_view</a>< 120 <a href="./zip-view.html" class="identifier">zip_view</a>< <a href="./vector.html" class="identifier">vector</a><v1,v2,v3> > 121 , <a href="./unpack-args.html" class="identifier">unpack_args</a>< <a href="./plus.html" class="identifier">plus</a><<a href="./placeholders.html" class="identifier">_1</a>,<a href="./placeholders.html" class="identifier">_2</a>,<a href="./placeholders.html" class="identifier">_3</a>> > 122 > sum; 123 124<a href="./assert.html" class="identifier">BOOST_MPL_ASSERT</a>(( <a href="./equal.html" class="identifier">equal</a>< sum, <a href="./vector-c.html" class="identifier">vector_c</a><int,7,7,7,7,7> > )); 125</pre> 126</div> 127<div class="section" id="id174"> 128<h3><a class="subsection-title" href="#see-also" name="see-also">See also</a></h3> 129<p><a class="reference internal" href="./sequences.html">Sequences</a>, <a class="reference internal" href="./views.html">Views</a>, <a class="reference internal" href="./filter-view.html">filter_view</a>, <a class="reference internal" href="./transform-view.html">transform_view</a>, <a class="reference internal" href="./joint-view.html">joint_view</a>, <a class="reference internal" href="./single-view.html">single_view</a>, <a class="reference internal" href="./iterator-range.html">iterator_range</a></p> 130</div> 131</div> 132 133<div class="footer-separator"></div> 134<table class="footer"><tr class="footer"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./transform-view.html" class="navigation-link">Prev</a> <a href="./intrinsic-metafunctions.html" class="navigation-link">Next</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./transform-view.html" class="navigation-link">Back</a> Along</span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./views.html" class="navigation-link">Up</a> <a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator"> | </span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td> 135<td><div class="copyright-footer"><div class="copyright">Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams</div> 136Distributed under the Boost Software License, Version 1.0. (See accompanying 137file LICENSE_1_0.txt or copy at <a class="reference external" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</div></td></tr></table></body> 138</html> 139