#include <BoundedBuffer.hpp>
Public Methods | |
| BoundedBuffer (size_t sz=10) | |
| void | enqueue (char item) |
| char | dequeue () |
| __inline long | getCount () |
| __inline size_t | getSize () |
| __inline bool | isEmpty () |
| BoundedBuffer (size_t sz=10) | |
| void | enqueue (char item) |
| char | dequeue () |
| __inline long | getCount () |
| __inline size_t | getSize () |
| __inline bool | isEmpty () |
Private Attributes | |
| size_t | size |
| size_t | front |
| size_t | rear |
| long | count |
| char * | buffer |
| bool * | empty |
| char * | buffer |
| bool * | empty |
|
|
Definition at line 6 of file BoundedBuffer.cpp. |
|
|
|
|
|
|
|
|
Definition at line 39 of file BoundedBuffer.cpp. 00039 {
00040 if ( front != rear ) {
00041 front = ( front+1 ) % size;
00042 }
00043
00044 --count;
00045 register char value = buffer[ front ];
00046
00047 // Delete the data
00048 buffer[ front ] = 0;
00049 empty[ front ] = FALSE;
00050
00051 // Return the copied value
00052 return value;
00053 }
|
|
|
|
|
|
Definition at line 17 of file BoundedBuffer.cpp. 00018 {
00019 register size_t r = ( rear + 1 ) % size;
00020
00021 if ( r != front )
00022 {
00023 rear = r;
00024
00025 if ( empty[ rear ] == FALSE )
00026 {
00027 ++count;
00028 buffer[ rear ] = item;
00029
00030 } else {
00031
00032 // Trying to overwrite
00033 fprintf( stderr, "\nCannot overwrite the data[%d].\n", rear );
00034 exit( 1 );
00035 }
00036 }
00037 }
|
|
|
Definition at line 25 of file BoundedBuffer.hpp. 00025 { return count; }
|
|
|
Definition at line 25 of file BoundedBuffer.hpp. 00025 { return count; }
|
|
|
Definition at line 26 of file BoundedBuffer.hpp. 00026 { return size; }
|
|
|
Definition at line 26 of file BoundedBuffer.hpp. 00026 { return size; }
|
|
|
Definition at line 27 of file BoundedBuffer.hpp. 00027 { return (count == 0); }
|
|
|
Definition at line 27 of file BoundedBuffer.hpp. 00027 { return (count == 0); }
|
|
|
Definition at line 16 of file BoundedBuffer.hpp. |
|
|
Definition at line 16 of file BoundedBuffer.hpp. |
|
|
Definition at line 15 of file BoundedBuffer.hpp. |
|
|
Definition at line 17 of file BoundedBuffer.hpp. |
|
|
Definition at line 17 of file BoundedBuffer.hpp. |
|
|
Definition at line 13 of file BoundedBuffer.hpp. |
|
|
Definition at line 14 of file BoundedBuffer.hpp. |
|
|
Definition at line 12 of file BoundedBuffer.hpp. |
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001