CppUTest
Main Page
Related Pages
Classes
Files
File List
examples
ApplicationLib
CircularBuffer.h
1
/*
2
* Copyright (c) 2007, Michael Feathers, James Grenning and Bas Vodde
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
* * Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* * Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
12
* * Neither the name of the <organization> nor the
13
* names of its contributors may be used to endorse or promote products
14
* derived from this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE EARLIER MENTIONED AUTHORS ``AS IS'' AND ANY
17
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
20
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef D_CircularBuffer_H
29
#define D_CircularBuffer_H
30
32
//
33
// CircularBuffer.h
34
//
35
// CircularBuffer is responsible for ...
36
//
38
class
Printer
;
39
40
class
CircularBuffer
41
{
42
public
:
43
explicit
CircularBuffer
(
int
capacity = CAPACITY);
44
virtual
~
CircularBuffer
();
45
46
void
Put(
int
);
47
int
Get();
48
bool
IsEmpty();
49
bool
IsFull();
50
int
Capacity();
51
int
Next(
int
i);
52
void
Print(
Printer
*);
53
54
private
:
55
56
int
index;
57
int
outdex;
58
int
* buffer;
59
int
capacity;
60
enum
61
{
62
CAPACITY = 5
63
};
64
bool
empty;
65
bool
full;
66
67
CircularBuffer
(
const
CircularBuffer
&);
68
CircularBuffer
& operator=(
const
CircularBuffer
&);
69
70
};
71
72
#endif // D_CircularBuffer_H
Printer
Definition:
Printer.h:37
CircularBuffer
Definition:
CircularBuffer.h:40
Generated on Fri Feb 26 2016 15:48:38 for CppUTest by
1.8.8