File: array3.cpp.html

package info (click to toggle)
boost 1.27.0-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 19,908 kB
  • ctags: 26,546
  • sloc: cpp: 122,225; ansic: 10,956; python: 4,412; sh: 855; yacc: 803; makefile: 257; perl: 165; lex: 90; csh: 6
file content (71 lines) | stat: -rw-r--r-- 3,508 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<HTML>
<HEAD>
<TITLE>array3.cpp</TITLE>
</HEAD>

<BODY TEXT="#000000" BGCOLOR="#FFFFFF">
&nbsp;
<TABLE HEIGHT=40 WIDTH="100%">
<TR> <TD ALIGN=LEFT WIDTH="100%" BGCOLOR="#DDDDDD">
<FONT face="Arial,Helvetica" size=+2><B>
&nbsp;array3.cpp
</B></FONT>
</TD></TR></TABLE><BR>

<BR><BR>
<TT>
<SPAN class="Source">
<Font color="0000FF" >/</FONT><I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*&nbsp;example&nbsp;for&nbsp;using&nbsp;class&nbsp;array&lt;&gt;</FONT></I><BR>
&nbsp;<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >*/</FONT></I><BR>
#include&nbsp;&lt;string&gt;<BR>
#include&nbsp;&lt;iostream&gt;<BR>
#include&nbsp;&lt;<A href="./array.hpp.html">boost/array.hpp</A>&gt;<BR>
<BR>
template&nbsp;&lt;class&nbsp;T&gt;<BR>
void&nbsp;print_elements&nbsp;(const&nbsp;T&&nbsp;x);<BR>
<BR>
int&nbsp;main()<BR>
{<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >//&nbsp;create&nbsp;array&nbsp;of&nbsp;four&nbsp;seasons</FONT></I><BR>
&nbsp;&nbsp;&nbsp;&nbsp;boost::array&lt;std::string,4&gt;&nbsp;seasons&nbsp;=&nbsp;{<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;"spring",&nbsp;"summer",&nbsp;"autumn",&nbsp;"winter"&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;};<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >//&nbsp;copy&nbsp;and&nbsp;change&nbsp;order</FONT></I><BR>
&nbsp;&nbsp;&nbsp;&nbsp;boost::array&lt;std::string,4&gt;&nbsp;seasons_orig&nbsp;=&nbsp;seasons;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(unsigned&nbsp;i=seasons.size()-1;&nbsp;i&gt;0;&nbsp;--i)&nbsp;{<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(seasons.at(i),seasons.at((i+1)%seasons.size()));<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"one&nbsp;way:&nbsp;&nbsp;&nbsp;";<BR>
&nbsp;&nbsp;&nbsp;&nbsp;print_elements(seasons);<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >//&nbsp;try&nbsp;swap()</FONT></I><BR>
&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"other&nbsp;way:&nbsp;";<BR>
&nbsp;&nbsp;&nbsp;&nbsp;swap(seasons,seasons_orig);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;print_elements(seasons);<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >//&nbsp;try&nbsp;reverse&nbsp;iterators</FONT></I><BR>
&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"reverse:&nbsp;&nbsp;&nbsp;";<BR>
&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(boost::array&lt;std::string,4&gt;::reverse_iterator&nbsp;pos<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=seasons.rbegin();&nbsp;pos&lt;seasons.rend();&nbsp;++pos)&nbsp;{<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"&nbsp;"&nbsp;&lt;&lt;&nbsp;*pos;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;std::endl;<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;&nbsp;<I><FONT face="Arial,Helvetica,sans-serif" color="0000FF" >//&nbsp;makes&nbsp;Visual-C++&nbsp;compiler&nbsp;happy</FONT></I><BR>
}<BR>
<BR>
template&nbsp;&lt;class&nbsp;T&gt;<BR>
void&nbsp;print_elements&nbsp;(const&nbsp;T&&nbsp;x)<BR>
{<BR>
&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(unsigned&nbsp;i=0;&nbsp;i&lt;x.size();&nbsp;++i)&nbsp;{<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;"&nbsp;"&nbsp;&lt;&lt;&nbsp;x[i];<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;&lt;&lt;&nbsp;std::endl;<BR>
}<BR>
<BR>
</SPAN>
</TT>
</BODY>
</HTML>