00001 #ifndef DFDecoderWrapper_HPP 00002 #define DFDecoderWrapper_HPP 00003 00012 #include "io/codec/decoder/SimpleDecoderBase.hpp" 00013 00014 namespace bracz 00015 { 00022 template <class FR> 00023 class DFDecoderWrapper : public SimpleDecoderBase<FR> 00024 { 00025 public: 00026 00027 typedef typename SimpleDecoderBase<FR>::params_t params_t; 00028 DFDecoderWrapper(const params_t* par) 00029 : SimpleDecoderBase<FR>(par){ 00030 } 00031 00032 static bool DINLINE isDFO() 00033 { 00034 return true; 00035 } 00036 00037 void pushItem(item_t item) 00038 { 00039 FR::pushItem(code_inverse[item]); 00040 } 00041 00042 void pushItemWithWrite(item_t item, counter_t support) 00043 { 00044 FR::pushItemWithWrite(code_inverse[item],support); 00045 } 00046 00047 void pushItemWithPrevSupport(item_t item) 00048 { 00049 FR::pushItemWithPrevSupport(code_inverse[item]); 00050 } 00051 00052 }; 00053 } 00054 #endif