#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. |