00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef BQUEUET_H
00012 #define BQUEUET_H
00013
00014 template<class T>
00015 class bqueueT
00016 {
00017 public:
00018 bqueueT(unsigned int sz);
00019 ~bqueueT();
00020
00021 void put(const T& value);
00022 void get( T& value);
00023
00024 void put(const T* p, unsigned int n);
00025 void get( T* p, unsigned int n);
00026
00027 unsigned int size() const;
00028 unsigned int data() const;
00029 unsigned int room() const;
00030
00031 void resize(unsigned int sz);
00032
00033 private:
00034 T* begin;
00035 T* end;
00036 T* r;
00037 T* w;
00038 unsigned int d;
00039 };
00040
00041 #include "bqueuet.cc"
00042
00043 #endif