1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
2 | <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
---|
3 | <title>mixpp: itpp::Circular_Buffer< T > Class Template Reference</title> |
---|
4 | <link href="tabs.css" rel="stylesheet" type="text/css"> |
---|
5 | <link href="doxygen.css" rel="stylesheet" type="text/css"> |
---|
6 | </head><body> |
---|
7 | <!-- Generated by Doxygen 1.5.8 --> |
---|
8 | <script type="text/javascript"> |
---|
9 | <!-- |
---|
10 | function changeDisplayState (e){ |
---|
11 | var num=this.id.replace(/[^[0-9]/g,''); |
---|
12 | var button=this.firstChild; |
---|
13 | var sectionDiv=document.getElementById('dynsection'+num); |
---|
14 | if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ |
---|
15 | sectionDiv.style.display='block'; |
---|
16 | button.src='open.gif'; |
---|
17 | }else{ |
---|
18 | sectionDiv.style.display='none'; |
---|
19 | button.src='closed.gif'; |
---|
20 | } |
---|
21 | } |
---|
22 | function initDynSections(){ |
---|
23 | var divs=document.getElementsByTagName('div'); |
---|
24 | var sectionCounter=1; |
---|
25 | for(var i=0;i<divs.length-1;i++){ |
---|
26 | if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ |
---|
27 | var header=divs[i]; |
---|
28 | var section=divs[i+1]; |
---|
29 | var button=header.firstChild; |
---|
30 | if (button!='IMG'){ |
---|
31 | divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); |
---|
32 | button=document.createElement('img'); |
---|
33 | divs[i].insertBefore(button,divs[i].firstChild); |
---|
34 | } |
---|
35 | header.style.cursor='pointer'; |
---|
36 | header.onclick=changeDisplayState; |
---|
37 | header.id='dynheader'+sectionCounter; |
---|
38 | button.src='closed.gif'; |
---|
39 | section.id='dynsection'+sectionCounter; |
---|
40 | section.style.display='none'; |
---|
41 | section.style.marginLeft='14px'; |
---|
42 | sectionCounter++; |
---|
43 | } |
---|
44 | } |
---|
45 | } |
---|
46 | window.onload = initDynSections; |
---|
47 | --> |
---|
48 | </script> |
---|
49 | <div class="navigation" id="top"> |
---|
50 | <div class="tabs"> |
---|
51 | <ul> |
---|
52 | <li><a href="main.html"><span>Main Page</span></a></li> |
---|
53 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
---|
54 | <li><a href="modules.html"><span>Modules</span></a></li> |
---|
55 | <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
---|
56 | <li><a href="files.html"><span>Files</span></a></li> |
---|
57 | </ul> |
---|
58 | </div> |
---|
59 | <div class="tabs"> |
---|
60 | <ul> |
---|
61 | <li><a href="annotated.html"><span>Class List</span></a></li> |
---|
62 | <li><a href="classes.html"><span>Class Index</span></a></li> |
---|
63 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
64 | <li><a href="functions.html"><span>Class Members</span></a></li> |
---|
65 | </ul> |
---|
66 | </div> |
---|
67 | <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1Circular__Buffer.html">Circular_Buffer</a> |
---|
68 | </div> |
---|
69 | </div> |
---|
70 | <div class="contents"> |
---|
71 | <h1>itpp::Circular_Buffer< T > Class Template Reference</h1><!-- doxytag: class="itpp::Circular_Buffer" -->General circular buffer class. |
---|
72 | <a href="#_details">More...</a> |
---|
73 | <p> |
---|
74 | <code>#include <<a class="el" href="circular__buffer_8h-source.html">circular_buffer.h</a>></code> |
---|
75 | <p> |
---|
76 | |
---|
77 | <p> |
---|
78 | <a href="classitpp_1_1Circular__Buffer-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> |
---|
79 | <tr><td></td></tr> |
---|
80 | <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> |
---|
81 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="facfe1f87533c5a3eeb07d409b058101"></a><!-- doxytag: member="itpp::Circular_Buffer::Circular_Buffer" ref="facfe1f87533c5a3eeb07d409b058101" args="()" --> |
---|
82 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#facfe1f87533c5a3eeb07d409b058101">Circular_Buffer</a> ()</td></tr> |
---|
83 | |
---|
84 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr> |
---|
85 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b654a46913bea47e210e263737bf104d"></a><!-- doxytag: member="itpp::Circular_Buffer::Circular_Buffer" ref="b654a46913bea47e210e263737bf104d" args="(int n)" --> |
---|
86 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#b654a46913bea47e210e263737bf104d">Circular_Buffer</a> (int n)</td></tr> |
---|
87 | |
---|
88 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="classitpp_1_1Circular__Buffer.html" title="General circular buffer class.">Circular_Buffer</a> of size <code>n</code>. <br></td></tr> |
---|
89 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="64a7e0608208d189423d2e2f68351b5e"></a><!-- doxytag: member="itpp::Circular_Buffer::Circular_Buffer" ref="64a7e0608208d189423d2e2f68351b5e" args="(const Circular_Buffer< T > &s)" --> |
---|
90 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#64a7e0608208d189423d2e2f68351b5e">Circular_Buffer</a> (const <a class="el" href="classitpp_1_1Circular__Buffer.html">Circular_Buffer</a>< T > &s)</td></tr> |
---|
91 | |
---|
92 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a copy of <code>s</code>. <br></td></tr> |
---|
93 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b20850719e0b2b50c89ab73891b3e07e"></a><!-- doxytag: member="itpp::Circular_Buffer::~Circular_Buffer" ref="b20850719e0b2b50c89ab73891b3e07e" args="()" --> |
---|
94 | virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#b20850719e0b2b50c89ab73891b3e07e">~Circular_Buffer</a> ()</td></tr> |
---|
95 | |
---|
96 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default destructor. <br></td></tr> |
---|
97 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f0d27553c66c278fe8d35b6a1bfa758"></a><!-- doxytag: member="itpp::Circular_Buffer::put" ref="2f0d27553c66c278fe8d35b6a1bfa758" args="(const T &in)" --> |
---|
98 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#2f0d27553c66c278fe8d35b6a1bfa758">put</a> (const T &in)</td></tr> |
---|
99 | |
---|
100 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Write the element <em>in</em> to the buffer. <br></td></tr> |
---|
101 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ea0ad44cc98912ae6c98fa0ee64c2d4"></a><!-- doxytag: member="itpp::Circular_Buffer::put" ref="9ea0ad44cc98912ae6c98fa0ee64c2d4" args="(const Vec< T > &in)" --> |
---|
102 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#9ea0ad44cc98912ae6c98fa0ee64c2d4">put</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>< T > &in)</td></tr> |
---|
103 | |
---|
104 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Write the vector of elements <em>in</em> to the circular buffer. <br></td></tr> |
---|
105 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9197d0b15e58119f445fc10a95f45e54"></a><!-- doxytag: member="itpp::Circular_Buffer::put" ref="9197d0b15e58119f445fc10a95f45e54" args="(const Array< T > &in)" --> |
---|
106 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#9197d0b15e58119f445fc10a95f45e54">put</a> (const <a class="el" href="classitpp_1_1Array.html">Array</a>< T > &in)</td></tr> |
---|
107 | |
---|
108 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Write the vector of elements <em>in</em> to the circular buffer. <br></td></tr> |
---|
109 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e780e614fc4add0df984152c851b7e82"></a><!-- doxytag: member="itpp::Circular_Buffer::get" ref="e780e614fc4add0df984152c851b7e82" args="(T &out)" --> |
---|
110 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#e780e614fc4add0df984152c851b7e82">get</a> (T &out)</td></tr> |
---|
111 | |
---|
112 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the oldest element in the circular buffer. <br></td></tr> |
---|
113 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4e7aa878c4a3aacf2cb5b942f5be939"></a><!-- doxytag: member="itpp::Circular_Buffer::get" ref="e4e7aa878c4a3aacf2cb5b942f5be939" args="()" --> |
---|
114 | T </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#e4e7aa878c4a3aacf2cb5b942f5be939">get</a> ()</td></tr> |
---|
115 | |
---|
116 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the oldest element in the circular buffer. <br></td></tr> |
---|
117 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2503913b027197bb6c3c3023b728862f"></a><!-- doxytag: member="itpp::Circular_Buffer::get" ref="2503913b027197bb6c3c3023b728862f" args="(Vec< T > &out, const int N=-1)" --> |
---|
118 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#2503913b027197bb6c3c3023b728862f">get</a> (<a class="el" href="classitpp_1_1Vec.html">Vec</a>< T > &out, const int N=-1)</td></tr> |
---|
119 | |
---|
120 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the N oldest element in the circular buffer. <code>N=-1</code> returns all elements in the buffer. <br></td></tr> |
---|
121 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87dac11564185e418ae7650b5c503123"></a><!-- doxytag: member="itpp::Circular_Buffer::get" ref="87dac11564185e418ae7650b5c503123" args="(Array< T > &out, const int N=-1)" --> |
---|
122 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#87dac11564185e418ae7650b5c503123">get</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>< T > &out, const int N=-1)</td></tr> |
---|
123 | |
---|
124 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the N oldest element in the circular buffer. <code>N=-1</code> returns all elements in the buffer. <br></td></tr> |
---|
125 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f5fe49bcdfb038831eace4f4466fc9b"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="2f5fe49bcdfb038831eace4f4466fc9b" args="(T &out) const " --> |
---|
126 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#2f5fe49bcdfb038831eace4f4466fc9b">peek</a> (T &out) const </td></tr> |
---|
127 | |
---|
128 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the oldest element in the circular buffer, without removing it. <br></td></tr> |
---|
129 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d20356855fe0667656dbf25221722549"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="d20356855fe0667656dbf25221722549" args="() const " --> |
---|
130 | T </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#d20356855fe0667656dbf25221722549">peek</a> () const </td></tr> |
---|
131 | |
---|
132 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the oldest element in the circular buffer, without removing it. <br></td></tr> |
---|
133 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13bca849dbeb71d243eeede5f157a227"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="13bca849dbeb71d243eeede5f157a227" args="(const int index, T &out) const " --> |
---|
134 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#13bca849dbeb71d243eeede5f157a227">peek</a> (const int index, T &out) const </td></tr> |
---|
135 | |
---|
136 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the element with index <em>index</em> in the circular buffer, without removing it. <br></td></tr> |
---|
137 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a1698d3de757f7157c654bd28f7222c"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="4a1698d3de757f7157c654bd28f7222c" args="(Vec< T > &out, const int N=-1) const " --> |
---|
138 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#4a1698d3de757f7157c654bd28f7222c">peek</a> (<a class="el" href="classitpp_1_1Vec.html">Vec</a>< T > &out, const int N=-1) const </td></tr> |
---|
139 | |
---|
140 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the N first elements of the circular buffer, without removing them. <code>N=-1</code> peeks all elements in the buffer. <br></td></tr> |
---|
141 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca93e92932bf160f6bbeea39a98defda"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="ca93e92932bf160f6bbeea39a98defda" args="(const ivec &index, Vec< T > &out) const " --> |
---|
142 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#ca93e92932bf160f6bbeea39a98defda">peek</a> (const ivec &index, <a class="el" href="classitpp_1_1Vec.html">Vec</a>< T > &out) const </td></tr> |
---|
143 | |
---|
144 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the elements with index <em>index</em> in the circular buffer, without removing them. <br></td></tr> |
---|
145 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="685da19384f131995ef4841b3f11587a"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="685da19384f131995ef4841b3f11587a" args="(Array< T > &out, const int N=-1) const " --> |
---|
146 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#685da19384f131995ef4841b3f11587a">peek</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>< T > &out, const int N=-1) const </td></tr> |
---|
147 | |
---|
148 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the N first elements of the circular buffer, without removing them. <code>N=-1</code> peeks all elements in the buffer. <br></td></tr> |
---|
149 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0628353cd43b1fdb3e5a52fda3f5ba8d"></a><!-- doxytag: member="itpp::Circular_Buffer::peek" ref="0628353cd43b1fdb3e5a52fda3f5ba8d" args="(const ivec &index, Array< T > &out) const " --> |
---|
150 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#0628353cd43b1fdb3e5a52fda3f5ba8d">peek</a> (const ivec &index, <a class="el" href="classitpp_1_1Array.html">Array</a>< T > &out) const </td></tr> |
---|
151 | |
---|
152 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the elements with index <em>index</em> in the circular buffer, without removing them. <br></td></tr> |
---|
153 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ff08a09d34e31c7c5b8ead37aa9bf77"></a><!-- doxytag: member="itpp::Circular_Buffer::peek_reverse" ref="9ff08a09d34e31c7c5b8ead37aa9bf77" args="(T &out) const " --> |
---|
154 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#9ff08a09d34e31c7c5b8ead37aa9bf77">peek_reverse</a> (T &out) const </td></tr> |
---|
155 | |
---|
156 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the latest element in the circular buffer, without removing it. <br></td></tr> |
---|
157 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="427c129a3322d3f30cce928046ab48ef"></a><!-- doxytag: member="itpp::Circular_Buffer::peek_reverse" ref="427c129a3322d3f30cce928046ab48ef" args="() const " --> |
---|
158 | T </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#427c129a3322d3f30cce928046ab48ef">peek_reverse</a> () const </td></tr> |
---|
159 | |
---|
160 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the latest element in the circular buffer, without removing it. <br></td></tr> |
---|
161 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d5e04e774f9389743c9c05d24929107"></a><!-- doxytag: member="itpp::Circular_Buffer::peek_reverse" ref="5d5e04e774f9389743c9c05d24929107" args="(Vec< T > &out, const int N=-1) const " --> |
---|
162 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#5d5e04e774f9389743c9c05d24929107">peek_reverse</a> (<a class="el" href="classitpp_1_1Vec.html">Vec</a>< T > &out, const int N=-1) const </td></tr> |
---|
163 | |
---|
164 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the N latest elements of the circular buffer in reverse order, without removing them. <code>N=-1</code> returns all elements in the buffer. <br></td></tr> |
---|
165 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2903e9dac4afbb8d6a2fcbd299c1e3cf"></a><!-- doxytag: member="itpp::Circular_Buffer::peek_reverse" ref="2903e9dac4afbb8d6a2fcbd299c1e3cf" args="(Array< T > &out, const int N=-1) const " --> |
---|
166 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#2903e9dac4afbb8d6a2fcbd299c1e3cf">peek_reverse</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>< T > &out, const int N=-1) const </td></tr> |
---|
167 | |
---|
168 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Peek at the N latest elements of the circular buffer in reverse order, without removing them. <code>N=-1</code> returns all elements in the buffer. <br></td></tr> |
---|
169 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15da2e68939407a13dde647afcb56529"></a><!-- doxytag: member="itpp::Circular_Buffer::clear" ref="15da2e68939407a13dde647afcb56529" args="()" --> |
---|
170 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#15da2e68939407a13dde647afcb56529">clear</a> ()</td></tr> |
---|
171 | |
---|
172 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Empty the circular buffer. <br></td></tr> |
---|
173 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="625975c59def123a1531949583d52393"></a><!-- doxytag: member="itpp::Circular_Buffer::operator=" ref="625975c59def123a1531949583d52393" args="(const Circular_Buffer< T > &s)" --> |
---|
174 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#625975c59def123a1531949583d52393">operator=</a> (const <a class="el" href="classitpp_1_1Circular__Buffer.html">Circular_Buffer</a>< T > &s)</td></tr> |
---|
175 | |
---|
176 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <br></td></tr> |
---|
177 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b6b10852c6f944ef07bd9252a973002"></a><!-- doxytag: member="itpp::Circular_Buffer::size" ref="0b6b10852c6f944ef07bd9252a973002" args="() const " --> |
---|
178 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#0b6b10852c6f944ef07bd9252a973002">size</a> () const </td></tr> |
---|
179 | |
---|
180 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum number of data elements the circular buffer can store. <br></td></tr> |
---|
181 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="54d8aac5494015926458d97529a620c4"></a><!-- doxytag: member="itpp::Circular_Buffer::nrof_elements" ref="54d8aac5494015926458d97529a620c4" args="() const " --> |
---|
182 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#54d8aac5494015926458d97529a620c4">nrof_elements</a> () const </td></tr> |
---|
183 | |
---|
184 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of data elements currently stored in the circular buffer. <br></td></tr> |
---|
185 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71666739dc1f890cba5b973ff3f045b7"></a><!-- doxytag: member="itpp::Circular_Buffer::set_size" ref="71666739dc1f890cba5b973ff3f045b7" args="(int n, bool copy=false)" --> |
---|
186 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Circular__Buffer.html#71666739dc1f890cba5b973ff3f045b7">set_size</a> (int n, bool copy=false)</td></tr> |
---|
187 | |
---|
188 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Resizing a Circular_Buffer<T>. <br></td></tr> |
---|
189 | </table> |
---|
190 | <hr><a name="_details"></a><h2>Detailed Description</h2> |
---|
191 | <h3>template<class T><br> |
---|
192 | class itpp::Circular_Buffer< T ></h3> |
---|
193 | |
---|
194 | General circular buffer class. |
---|
195 | <p> |
---|
196 | This class is a general circular buffer class for arbitrary types.<p> |
---|
197 | For rarely used types you will need to instantiate the class by <div class="fragment"><pre class="fragment"> <span class="keyword">template</span> <span class="keyword">class </span>Circular_Buffer<type>; |
---|
198 | </pre></div><p> |
---|
199 | The following example shows how to define a <a class="el" href="classitpp_1_1Circular__Buffer.html" title="General circular buffer class.">Circular_Buffer</a> of doubles: <div class="fragment"><pre class="fragment"> vec a = <a class="code" href="group__randgen.html#g9ecf5af23567f51abc9af737fdbd872a" title="Generates a random Gaussian (0,1) variable.">randn</a>(3); |
---|
200 | vec b = <a class="code" href="group__randgen.html#g9ecf5af23567f51abc9af737fdbd872a" title="Generates a random Gaussian (0,1) variable.">randn</a>(8); |
---|
201 | vec out_vec; |
---|
202 | Array <double> out_array; |
---|
203 | |
---|
204 | Circular_Buffer<double> cb1(10); |
---|
205 | |
---|
206 | <span class="comment">//Put the elements of a to the buffer</span> |
---|
207 | cb1.put(a); |
---|
208 | |
---|
209 | <span class="comment">//Vector output: Peek at the two oldest elements of the buffer (the two first extracted)</span> |
---|
210 | cb1.peek(out_vec,2); |
---|
211 | cout << <span class="stringliteral">"peek(out_vec,2) = "</span> << out_vec << <span class="stringliteral">": display 2 first elements of the buffer, without affecting the content"</span> << endl; |
---|
212 | |
---|
213 | <span class="comment">//Vector output: Peek at all elements of the buffer in reverse order</span> |
---|
214 | cb1.peek_reverse(out_vec); |
---|
215 | cout << <span class="stringliteral">"peek_reverse(out_vec,-1) = "</span> << out_vec << <span class="stringliteral">": display buffer, without affecting the content"</span> << endl; |
---|
216 | |
---|
217 | <span class="comment">//Array output: Peek at all elements of the buffer in reverse order</span> |
---|
218 | cb1.peek_reverse(out_array); |
---|
219 | cout << <span class="stringliteral">"peek_reverse(out_array,-1) = "</span> << out_array << <span class="stringliteral">": display buffer, without affecting the content"</span> << endl; |
---|
220 | |
---|
221 | <span class="comment">//Put the elements of \c b to the buffer</span> |
---|
222 | cb1.put(b); |
---|
223 | |
---|
224 | <span class="comment">//Extract the oldest element of the buffer</span> |
---|
225 | cb1.get(out_vec,1); |
---|
226 | cout << <span class="stringliteral">"get(out_vec,1) = "</span> << out_vec << endl ; |
---|
227 | |
---|
228 | <span class="comment">//Extract all element of the buffer</span> |
---|
229 | cb1.get(out_vec); |
---|
230 | cout << <span class="stringliteral">"get(out_vec) = "</span> << out_vec << endl ; |
---|
231 | </pre></div> <hr>The documentation for this class was generated from the following file:<ul> |
---|
232 | <li><a class="el" href="circular__buffer_8h-source.html">circular_buffer.h</a></ul> |
---|
233 | </div> |
---|
234 | <hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:18 2009 for mixpp by |
---|
235 | <a href="http://www.doxygen.org/index.html"> |
---|
236 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> |
---|
237 | </body> |
---|
238 | </html> |
---|