Repository navigation
Expand file tree
/
Copy pathICSharpCode.SharpZipLib_StreamManipulator.htm
More file actions
289 lines (289 loc) · 79.1 KB
/
Copy pathICSharpCode.SharpZipLib_StreamManipulator.htm
File metadata and controls
289 lines (289 loc) · 79.1 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
<!DOCTYPE html>
<html data-ng-app="coverageApp">
<head>
<meta charset="utf-8" />
<title>ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator - Coverage Report</title>
<link rel="stylesheet" type="text/css" href="report.css" />
</head><body data-ng-controller="DetailViewCtrl"><div class="container">
<h1>Summary</h1>
<table class="overview">
<colgroup>
<col class="column135" />
<col />
</colgroup>
<tbody>
<tr><th>Class:</th><td>ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator</td></tr>
<tr><th>Assembly:</th><td>ICSharpCode.SharpZipLib</td></tr>
<tr><th>File(s):</th><td><a href="#CUsersNeilDocumentsVisualStudio2015ProjectsicsharpcodeSZL_masterICSharpCodeSharpZipLibZipCompressionStreamsStreamManipulatorcs">C:\Users\Neil\Documents\Visual Studio 2015\Projects\icsharpcode\SZL_master\ICSharpCode.SharpZipLib\Zip\Compression\Streams\StreamManipulator.cs</a></td></tr>
<tr><th>Covered lines:</th><td>51</td></tr>
<tr><th>Uncovered lines:</th><td>12</td></tr>
<tr><th>Coverable lines:</th><td>63</td></tr>
<tr><th>Total lines:</th><td>241</td></tr>
<tr><th>Line coverage:</th><td>80.9%</td></tr>
<tr><th>Branch coverage:</th><td>67.6%</td></tr>
</tbody>
</table>
<h1>Metrics</h1>
<table class="overview">
<thead><tr><th>Method</th><th>Cyclomatic Complexity</th><th>Sequence Coverage</th><th>Branch Coverage</th></tr></thead>
<tbody>
<tr><td title="System.Int32 ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::PeekBits(System.Int32)">PeekBits(...)</td><td>3</td><td>100</td><td>100</td></tr>
<tr><td title="System.Void ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::DropBits(System.Int32)">DropBits(...)</td><td>1</td><td>100</td><td>100</td></tr>
<tr><td title="System.Int32 ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::GetBits(System.Int32)">GetBits(...)</td><td>2</td><td>0</td><td>0</td></tr>
<tr><td title="System.Void ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::SkipToByteBoundary()">SkipToByteBoundary()</td><td>1</td><td>100</td><td>100</td></tr>
<tr><td title="System.Int32 ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::CopyBytes(System.Byte[],System.Int32,System.Int32)">CopyBytes(...)</td><td>8</td><td>86.36</td><td>80</td></tr>
<tr><td title="System.Void ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::Reset()">Reset()</td><td>1</td><td>100</td><td>100</td></tr>
<tr><td title="System.Void ICSharpCode.SharpZipLib.Zip.Compression.Streams.StreamManipulator::SetInput(System.Byte[],System.Int32,System.Int32)">SetInput(...)</td><td>8</td><td>72.22</td><td>60</td></tr>
</tbody>
</table>
<h1>File(s)</h1>
<h2 id="CUsersNeilDocumentsVisualStudio2015ProjectsicsharpcodeSZL_masterICSharpCodeSharpZipLibZipCompressionStreamsStreamManipulatorcs">C:\Users\Neil\Documents\Visual Studio 2015\Projects\icsharpcode\SZL_master\ICSharpCode.SharpZipLib\Zip\Compression\Streams\StreamManipulator.cs</h2>
<table class="lineAnalysis">
<thead><tr><th></th><th>#</th><th>Line</th><th></th><th>Line coverage</th></tr></thead>
<tbody>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>1</code></td><td></td><td class="lightgray"><code>using System;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>2</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>3</code></td><td></td><td class="lightgray"><code>namespace ICSharpCode.SharpZipLib.Zip.Compression.Streams</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>4</code></td><td></td><td class="lightgray"><code>{</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>5</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>6</code></td><td></td><td class="lightgray"><code> /// This class allows us to retrieve a specified number of bits from</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>7</code></td><td></td><td class="lightgray"><code> /// the input buffer, as well as copy big byte blocks.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>8</code></td><td></td><td class="lightgray"><code> ///</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>9</code></td><td></td><td class="lightgray"><code> /// It uses an int buffer to store up to 31 bits for direct</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>10</code></td><td></td><td class="lightgray"><code> /// manipulation. This guarantees that we can get at least 16 bits,</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>11</code></td><td></td><td class="lightgray"><code> /// but we only need at most 15, so this is all safe.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>12</code></td><td></td><td class="lightgray"><code> ///</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>13</code></td><td></td><td class="lightgray"><code> /// There are some optimizations in this class, for example, you must</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>14</code></td><td></td><td class="lightgray"><code> /// never peek more than 8 bits more than needed, and you must first</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>15</code></td><td></td><td class="lightgray"><code> /// peek bits before you may drop them. This is not a general purpose</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>16</code></td><td></td><td class="lightgray"><code> /// class but optimized for the behaviour of the Inflater.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>17</code></td><td></td><td class="lightgray"><code> ///</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>18</code></td><td></td><td class="lightgray"><code> /// authors of the original java version : John Leuner, Jochen Hoenicke</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>19</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>20</code></td><td></td><td class="lightgray"><code> public class StreamManipulator</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>21</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>22</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>23</code></td><td></td><td class="lightgray"><code> /// Get the next sequence of bits but don't increase input pointer. bitCount must be</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>24</code></td><td></td><td class="lightgray"><code> /// less or equal 16 and if this call succeeds, you must drop</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>25</code></td><td></td><td class="lightgray"><code> /// at least n - 8 bits in the next call.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>26</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>27</code></td><td></td><td class="lightgray"><code> /// <param name="bitCount">The number of bits to peek.</param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>28</code></td><td></td><td class="lightgray"><code> /// <returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>29</code></td><td></td><td class="lightgray"><code> /// the value of the bits, or -1 if not enough bits available. */</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>30</code></td><td></td><td class="lightgray"><code> /// </returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>31</code></td><td></td><td class="lightgray"><code> public int PeekBits(int bitCount)</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>32</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr title="2 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '11620', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11620</td><td class="rightmargin right"><code>33</code></td><td class="branch100"> </td><td class="lightgreen"><code> if (bitsInBuffer_ < bitCount) {</code></td></tr>
<tr title="2 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '6287', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">6287</td><td class="rightmargin right"><code>34</code></td><td class="branch100"> </td><td class="lightgreen"><code> if (windowStart_ == windowEnd_) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '396', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">396</td><td class="rightmargin right"><code>35</code></td><td></td><td class="lightgreen"><code> return -1; // ok</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>36</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '5891', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5891</td><td class="rightmargin right"><code>37</code></td><td></td><td class="lightgreen"><code> buffer_ |= (uint)((window_[windowStart_++] & 0xff |</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '5891', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5891</td><td class="rightmargin right"><code>38</code></td><td></td><td class="lightgreen"><code> (window_[windowStart_++] & 0xff) << 8) << bitsInBuffer_);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '5891', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">5891</td><td class="rightmargin right"><code>39</code></td><td></td><td class="lightgreen"><code> bitsInBuffer_ += 16;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>40</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '11224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11224</td><td class="rightmargin right"><code>41</code></td><td></td><td class="lightgreen"><code> return (int)(buffer_ & ((1 << bitCount) - 1));</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>42</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>43</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>44</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>45</code></td><td></td><td class="lightgray"><code> /// Drops the next n bits from the input. You should have called PeekBits</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>46</code></td><td></td><td class="lightgray"><code> /// with a bigger or equal n before, to make sure that enough bits are in</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>47</code></td><td></td><td class="lightgray"><code> /// the bit buffer.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>48</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>49</code></td><td></td><td class="lightgray"><code> /// <param name="bitCount">The number of bits to drop.</param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>50</code></td><td></td><td class="lightgray"><code> public void DropBits(int bitCount)</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>51</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '11224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11224</td><td class="rightmargin right"><code>52</code></td><td></td><td class="lightgreen"><code> buffer_ >>= bitCount;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '11224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11224</td><td class="rightmargin right"><code>53</code></td><td></td><td class="lightgreen"><code> bitsInBuffer_ -= bitCount;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '11224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">11224</td><td class="rightmargin right"><code>54</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>55</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>56</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>57</code></td><td></td><td class="lightgray"><code> /// Gets the next n bits and increases input pointer. This is equivalent</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>58</code></td><td></td><td class="lightgray"><code> /// to <see cref="PeekBits"/> followed by <see cref="DropBits"/>, except for correct error handling.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>59</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>60</code></td><td></td><td class="lightgray"><code> /// <param name="bitCount">The number of bits to retrieve.</param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>61</code></td><td></td><td class="lightgray"><code> /// <returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>62</code></td><td></td><td class="lightgray"><code> /// the value of the bits, or -1 if not enough bits available.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>63</code></td><td></td><td class="lightgray"><code> /// </returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>64</code></td><td></td><td class="lightgray"><code> public int GetBits(int bitCount)</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>65</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>66</code></td><td></td><td class="lightred"><code> int bits = PeekBits(bitCount);</code></td></tr>
<tr title="0 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>67</code></td><td class="branch0"> </td><td class="lightred"><code> if (bits >= 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>68</code></td><td></td><td class="lightred"><code> DropBits(bitCount);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>69</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>70</code></td><td></td><td class="lightred"><code> return bits;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>71</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>72</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>73</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>74</code></td><td></td><td class="lightgray"><code> /// Gets the number of bits available in the bit buffer. This must be</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>75</code></td><td></td><td class="lightgray"><code> /// only called when a previous PeekBits() returned -1.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>76</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>77</code></td><td></td><td class="lightgray"><code> /// <returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>78</code></td><td></td><td class="lightgray"><code> /// the number of bits available.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>79</code></td><td></td><td class="lightgray"><code> /// </returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>80</code></td><td></td><td class="lightgray"><code> public int AvailableBits {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>81</code></td><td></td><td class="lightgray"><code> get {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '23', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">23</td><td class="rightmargin right"><code>82</code></td><td></td><td class="lightgreen"><code> return bitsInBuffer_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>83</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>84</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>85</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>86</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>87</code></td><td></td><td class="lightgray"><code> /// Gets the number of bytes available.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>88</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>89</code></td><td></td><td class="lightgray"><code> /// <returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>90</code></td><td></td><td class="lightgray"><code> /// The number of bytes available.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>91</code></td><td></td><td class="lightgray"><code> /// </returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>92</code></td><td></td><td class="lightgray"><code> public int AvailableBytes {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>93</code></td><td></td><td class="lightgray"><code> get {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '2327', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">2327</td><td class="rightmargin right"><code>94</code></td><td></td><td class="lightgreen"><code> return windowEnd_ - windowStart_ + (bitsInBuffer_ >> 3);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>95</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>96</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>97</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>98</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>99</code></td><td></td><td class="lightgray"><code> /// Skips to the next byte boundary.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>100</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>101</code></td><td></td><td class="lightgray"><code> public void SkipToByteBoundary()</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>102</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '303', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">303</td><td class="rightmargin right"><code>103</code></td><td></td><td class="lightgreen"><code> buffer_ >>= (bitsInBuffer_ & 7);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '303', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">303</td><td class="rightmargin right"><code>104</code></td><td></td><td class="lightgreen"><code> bitsInBuffer_ &= ~7;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '303', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">303</td><td class="rightmargin right"><code>105</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>106</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>107</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>108</code></td><td></td><td class="lightgray"><code> /// Returns true when SetInput can be called</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>109</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>110</code></td><td></td><td class="lightgray"><code> public bool IsNeedingInput {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>111</code></td><td></td><td class="lightgray"><code> get {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '3355', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">3355</td><td class="rightmargin right"><code>112</code></td><td></td><td class="lightgreen"><code> return windowStart_ == windowEnd_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>113</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>114</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>115</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>116</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>117</code></td><td></td><td class="lightgray"><code> /// Copies bytes from input buffer to output buffer starting</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>118</code></td><td></td><td class="lightgray"><code> /// at output[offset]. You have to make sure, that the buffer is</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>119</code></td><td></td><td class="lightgray"><code> /// byte aligned. If not enough bytes are available, copies fewer</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>120</code></td><td></td><td class="lightgray"><code> /// bytes.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>121</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>122</code></td><td></td><td class="lightgray"><code> /// <param name="output"></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>123</code></td><td></td><td class="lightgray"><code> /// The buffer to copy bytes to.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>124</code></td><td></td><td class="lightgray"><code> /// </param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>125</code></td><td></td><td class="lightgray"><code> /// <param name="offset"></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>126</code></td><td></td><td class="lightgray"><code> /// The offset in the buffer at which copying starts</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>127</code></td><td></td><td class="lightgray"><code> /// </param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>128</code></td><td></td><td class="lightgray"><code> /// <param name="length"></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>129</code></td><td></td><td class="lightgray"><code> /// The length to copy, 0 is allowed.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>130</code></td><td></td><td class="lightgray"><code> /// </param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>131</code></td><td></td><td class="lightgray"><code> /// <returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>132</code></td><td></td><td class="lightgray"><code> /// The number of bytes copied, 0 if no bytes were available.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>133</code></td><td></td><td class="lightgray"><code> /// </returns></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>134</code></td><td></td><td class="lightgray"><code> /// <exception cref="ArgumentOutOfRangeException"></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>135</code></td><td></td><td class="lightgray"><code> /// Length is less than zero</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>136</code></td><td></td><td class="lightgray"><code> /// </exception></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>137</code></td><td></td><td class="lightgray"><code> /// <exception cref="InvalidOperationException"></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>138</code></td><td></td><td class="lightgray"><code> /// Bit buffer isnt byte aligned</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>139</code></td><td></td><td class="lightgray"><code> /// </exception></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>140</code></td><td></td><td class="lightgray"><code> public int CopyBytes(byte[] output, int offset, int length)</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>141</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '2376', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">2376</td><td class="rightmargin right"><code>142</code></td><td class="branch50"> </td><td class="lightgreen"><code> if (length < 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>143</code></td><td></td><td class="lightred"><code> throw new ArgumentOutOfRangeException(nameof(length));</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>144</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>145</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '2376', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">2376</td><td class="rightmargin right"><code>146</code></td><td class="branch50"> </td><td class="lightgreen"><code> if ((bitsInBuffer_ & 7) != 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>147</code></td><td></td><td class="lightgray"><code> // bits_in_buffer may only be 0 or a multiple of 8</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>148</code></td><td></td><td class="lightred"><code> throw new InvalidOperationException("Bit buffer is not byte aligned!");</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>149</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>150</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '2376', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">2376</td><td class="rightmargin right"><code>151</code></td><td></td><td class="lightgreen"><code> int count = 0;</code></td></tr>
<tr title="4 of 4 branches are covered" data-coverage="{'AllTestMethods': {'VC': '2600', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">2600</td><td class="rightmargin right"><code>152</code></td><td class="branch100"> </td><td class="lightgreen"><code> while ((bitsInBuffer_ > 0) && (length > 0)) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">224</td><td class="rightmargin right"><code>153</code></td><td></td><td class="lightgreen"><code> output[offset++] = (byte)buffer_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">224</td><td class="rightmargin right"><code>154</code></td><td></td><td class="lightgreen"><code> buffer_ >>= 8;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">224</td><td class="rightmargin right"><code>155</code></td><td></td><td class="lightgreen"><code> bitsInBuffer_ -= 8;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">224</td><td class="rightmargin right"><code>156</code></td><td></td><td class="lightgreen"><code> length--;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '224', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">224</td><td class="rightmargin right"><code>157</code></td><td></td><td class="lightgreen"><code> count++;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>158</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>159</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="2 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '2376', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">2376</td><td class="rightmargin right"><code>160</code></td><td class="branch100"> </td><td class="lightgreen"><code> if (length == 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '996', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">996</td><td class="rightmargin right"><code>161</code></td><td></td><td class="lightgreen"><code> return count;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>162</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>163</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1380', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1380</td><td class="rightmargin right"><code>164</code></td><td></td><td class="lightgreen"><code> int avail = windowEnd_ - windowStart_;</code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1380', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1380</td><td class="rightmargin right"><code>165</code></td><td class="branch50"> </td><td class="lightgreen"><code> if (length > avail) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>166</code></td><td></td><td class="lightred"><code> length = avail;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>167</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1380', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1380</td><td class="rightmargin right"><code>168</code></td><td></td><td class="lightgreen"><code> System.Array.Copy(window_, windowStart_, output, offset, length);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1380', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1380</td><td class="rightmargin right"><code>169</code></td><td></td><td class="lightgreen"><code> windowStart_ += length;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>170</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="2 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1380', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1380</td><td class="rightmargin right"><code>171</code></td><td class="branch100"> </td><td class="lightgreen"><code> if (((windowStart_ - windowEnd_) & 1) != 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>172</code></td><td></td><td class="lightgray"><code> // We always want an even number of bytes in input, see peekBits</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '210', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">210</td><td class="rightmargin right"><code>173</code></td><td></td><td class="lightgreen"><code> buffer_ = (uint)(window_[windowStart_++] & 0xff);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '210', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">210</td><td class="rightmargin right"><code>174</code></td><td></td><td class="lightgreen"><code> bitsInBuffer_ = 8;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>175</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1380', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1380</td><td class="rightmargin right"><code>176</code></td><td></td><td class="lightgreen"><code> return count + length;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>177</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>178</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>179</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>180</code></td><td></td><td class="lightgray"><code> /// Resets state and empties internal buffers</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>181</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>182</code></td><td></td><td class="lightgray"><code> public void Reset()</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>183</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '41', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">41</td><td class="rightmargin right"><code>184</code></td><td></td><td class="lightgreen"><code> buffer_ = 0;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '41', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">41</td><td class="rightmargin right"><code>185</code></td><td></td><td class="lightgreen"><code> windowStart_ = windowEnd_ = bitsInBuffer_ = 0;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '41', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">41</td><td class="rightmargin right"><code>186</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>187</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>188</code></td><td></td><td class="lightgray"><code> /// <summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>189</code></td><td></td><td class="lightgray"><code> /// Add more input for consumption.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>190</code></td><td></td><td class="lightgray"><code> /// Only call when IsNeedingInput returns true</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>191</code></td><td></td><td class="lightgray"><code> /// </summary></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>192</code></td><td></td><td class="lightgray"><code> /// <param name="buffer">data to be input</param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>193</code></td><td></td><td class="lightgray"><code> /// <param name="offset">offset of first byte of input</param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>194</code></td><td></td><td class="lightgray"><code> /// <param name="count">number of bytes of input to add.</param></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>195</code></td><td></td><td class="lightgray"><code> public void SetInput(byte[] buffer, int offset, int count)</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>196</code></td><td></td><td class="lightgray"><code> {</code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>197</code></td><td class="branch50"> </td><td class="lightgreen"><code> if (buffer == null) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>198</code></td><td></td><td class="lightred"><code> throw new ArgumentNullException(nameof(buffer));</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>199</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>200</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>201</code></td><td class="branch50"> </td><td class="lightgreen"><code> if (offset < 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>202</code></td><td></td><td class="lightred"><code> throw new ArgumentOutOfRangeException(nameof(offset), "Cannot be negative");</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>203</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>204</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>205</code></td><td class="branch50"> </td><td class="lightgreen"><code> if (count < 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>206</code></td><td></td><td class="lightred"><code> throw new ArgumentOutOfRangeException(nameof(count), "Cannot be negative");</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>207</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>208</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="1 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>209</code></td><td class="branch50"> </td><td class="lightgreen"><code> if (windowStart_ < windowEnd_) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>210</code></td><td></td><td class="lightred"><code> throw new InvalidOperationException("Old input was not completely processed");</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>211</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>212</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>213</code></td><td></td><td class="lightgreen"><code> int end = offset + count;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>214</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>215</code></td><td></td><td class="lightgray"><code> // We want to throw an ArrayIndexOutOfBoundsException early.</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>216</code></td><td></td><td class="lightgray"><code> // Note the check also handles integer wrap around.</code></td></tr>
<tr title="2 of 4 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>217</code></td><td class="branch50"> </td><td class="lightgreen"><code> if ((offset > end) || (end > buffer.Length)) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '0', 'LVS': 'red'}}"><td class="red"> </td><td class="leftmargin rightmargin right">0</td><td class="rightmargin right"><code>218</code></td><td></td><td class="lightred"><code> throw new ArgumentOutOfRangeException(nameof(count));</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>219</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>220</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr title="2 of 2 branches are covered" data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>221</code></td><td class="branch100"> </td><td class="lightgreen"><code> if ((count & 1) != 0) {</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>222</code></td><td></td><td class="lightgray"><code> // We always want an even number of bytes in input, see PeekBits</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '214', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">214</td><td class="rightmargin right"><code>223</code></td><td></td><td class="lightgreen"><code> buffer_ |= (uint)((buffer[offset++] & 0xff) << bitsInBuffer_);</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '214', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">214</td><td class="rightmargin right"><code>224</code></td><td></td><td class="lightgreen"><code> bitsInBuffer_ += 8;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>225</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>226</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>227</code></td><td></td><td class="lightgreen"><code> window_ = buffer;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>228</code></td><td></td><td class="lightgreen"><code> windowStart_ = offset;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>229</code></td><td></td><td class="lightgreen"><code> windowEnd_ = end;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '1433', 'LVS': 'green'}}"><td class="green"> </td><td class="leftmargin rightmargin right">1433</td><td class="rightmargin right"><code>230</code></td><td></td><td class="lightgreen"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>231</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>232</code></td><td></td><td class="lightgray"><code> #region Instance Fields</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>233</code></td><td></td><td class="lightgray"><code> private byte[] window_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>234</code></td><td></td><td class="lightgray"><code> private int windowStart_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>235</code></td><td></td><td class="lightgray"><code> private int windowEnd_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>236</code></td><td></td><td class="lightgray"><code></code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>237</code></td><td></td><td class="lightgray"><code> private uint buffer_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>238</code></td><td></td><td class="lightgray"><code> private int bitsInBuffer_;</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>239</code></td><td></td><td class="lightgray"><code> #endregion</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>240</code></td><td></td><td class="lightgray"><code> }</code></td></tr>
<tr data-coverage="{'AllTestMethods': {'VC': '', 'LVS': 'gray'}}"><td class="gray"> </td><td class="leftmargin rightmargin right"></td><td class="rightmargin right"><code>241</code></td><td></td><td class="lightgray"><code>}</code></td></tr>
</tbody>
</table>
<div class="footer">Generated by: ReportGenerator 2.4.5.0<br />5/17/2016 - 5:03:19 PM<br /><a href="https://github.com/danielpalme/ReportGenerator">GitHub</a> | <a href="http://www.palmmedia.de">www.palmmedia.de</a></div></div>
<script type="text/javascript" src="combined.js"></script>
</body></html>