Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

NonOptDFOutput.hpp

Go to the documentation of this file.
00001 #ifndef NonOptDFOutput_HPP
00002 #define NonOptDFOutput_HPP
00003 
00011 #include <vector>
00012 
00013 #include "io/output/OutputBase.hpp"  
00014 
00016 static volatile int dummy;
00017 
00018 namespace bracz
00019 {
00025    template <class FR>
00026   class NonOptDFOutput : public OutputBase<FR>
00027   {
00028   public:
00029 
00030     typedef  typename OutputBase<FR>::params_t params_t;
00031     NonOptDFOutput(const params_t* par)
00032       : OutputBase<FR>(par){
00033     }
00034 
00035     ~NonOptDFOutput() {
00036       dummy=dummysum;
00037     }
00038 
00039     static bool DINLINE isDFO()
00040     {
00041       return true;
00042     }  
00043 
00044     void pushItem(item_t item)
00045     {
00046       dummysum+=item;
00047     }
00048 
00049     void write(counter_t support)
00050     {
00051       dummysum+=support;
00052       last_support=support;
00053     }
00054 
00055     void pushItemWithWrite(item_t item, counter_t support)
00056     {
00057       pushItem(item);
00058       write(support);
00059     }
00060          
00061     void pushItemWithPrevSupport(item_t item)
00062     {
00063       pushItemWithWrite(item, last_support);
00064     }
00065          
00066     void popItem()
00067     {
00068       dummysum++;
00069     }
00070 
00071     void popAll() {
00072       dummysum++;
00073     }
00074 
00075   private:
00076     int dummysum;
00077     counter_t last_support;
00078 
00079   };
00080 }
00081 #endif

Generated on Sun Sep 17 17:50:39 2006 for FIM environment by  doxygen 1.4.4