00001 #ifndef NoOutput_HPP 00002 #define NoOutput_HPP 00003 00008 #include "io/output/OutputBase.hpp" 00009 #include "io/FDRepr.hpp" 00010 00015 template <bool ISDFO, class FR = FDRepr> 00016 class NoOutput : public OutputBase<FR> 00017 { 00018 public: 00019 typedef typename OutputBase<FR>::params_t params_t; 00020 NoOutput(const params_t* par) : OutputBase<FR>(par){} 00021 00022 static bool DINLINE isDFO() 00023 { 00024 return ISDFO; 00025 } 00026 00027 00029 template <typename InputIterator> void writeItemsetAndCounter( 00030 InputIterator first, InputIterator last, 00031 counter_t support ) 00032 { 00033 if( ISDFO ) 00034 OutputBase<FR>::writeItemsetAndCounter( first, last, support ); 00035 } 00036 00037 //===== DFO functions 00038 void pushItem(item_t item) 00039 { 00040 if( !ISDFO ) 00041 OutputBase<FR>::pushItem(item); 00042 } 00043 00044 void write(counter_t support) 00045 { 00046 if( !ISDFO ) 00047 OutputBase<FR>::write(support); 00048 } 00049 00050 void pushItemWithWrite(item_t item, counter_t support) 00051 { 00052 if( !ISDFO ) 00053 OutputBase<FR>::pushItemWithWrite(item, support); 00054 } 00055 00056 void pushItemWithPrevSupport(item_t item) 00057 { 00058 if( !ISDFO ) 00059 OutputBase<FR>::pushItemWithPrevSupport(item); 00060 00061 } 00062 00063 void popItem() 00064 { 00065 if( !ISDFO ) 00066 OutputBase<FR>::popItem(); 00067 } 00068 00069 void popAll() 00070 { 00071 if( !ISDFO ) 00072 OutputBase<FR>::popAll(); 00073 00074 } 00075 //===== End of DFO functions 00076 }; 00077 00078 #endif