Advertisement
nex036ara

Fifo

Dec 11th, 2011
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #ifndef FIFO_DEF
  2. #define FIFO_DEF
  3. #include "lista.hpp"
  4.  
  5. template<class T>
  6. class Fifo;
  7.  
  8. template<class T>
  9. void prinResult(const Fifo<T> &);
  10.  
  11. template<class T>
  12. class Fifo: private List<T>{
  13.  
  14.     public:
  15.         Fifo() {};
  16.         bool readFromFifo(T&)const;
  17.         bool removeFromFifo() {return List<T>::remove(1);}
  18.         int getFifoSize()const {return List<T>:: getSize(); }
  19.         void addToFifo(const T &value) {add(getFifoSize()+1,value); }
  20.         bool emptyFifo()const{return List<T>:: empty();}
  21.         void clearFifo() {return List<T>:: clear();}
  22.         friend void prinResult<>(const Fifo<T>&);
  23.         virtual ~Fifo(){}
  24.  
  25.     };
  26.  
  27.     template<class T>
  28.     void prinResult(const Fifo<T> &ref){
  29.         cout<<"sizeofFifo: "<<ref.getFifoSize()<<endl;
  30.         cout<<"ElementofFifo: ";
  31.  
  32.              T res;
  33.             for(int i=1; i<=ref.getFifoSize(); i++){
  34.                 cout<<" ";
  35.  
  36.                 ref.read(i,res);
  37.                 cout<<res;
  38.             } cout<<""<<endl;
  39.     }
  40.  
  41.         template<class T>
  42.         bool Fifo<T>:: readFromFifo(T &value)const {
  43.             List<T>::read(1,value);
  44.         }
  45. #endif
  46.  
  47.  
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement