68 #include "./../KDataStream.h"
69 #include "./../Extras/KRef_Ptr.h"
75 template<
class DecoderBaseTyp>
103 template<
class DecoderBaseTyp>
130 ss <<
"A decoder already exists for this enum: " << EnumVal;
148 typename std::map<KINT32, FacDecPtr>::iterator itr =
m_mDecoders.find( EnumVal );
151 return itr->second->FactoryDecode( EnumVal, stream );
169 template<
class DecoderBaseTyp>
170 std::map<KINT32, KDIS::UTILS::KRef_Ptr< FactoryDecoder<DecoderBaseTyp> > > FactoryDecoderUser<DecoderBaseTyp>::m_mDecoders = std::map<KINT32, KDIS::UTILS::KRef_Ptr< FactoryDecoder<DecoderBaseTyp> > >();
virtual ~FactoryDecoder()
Definition: FactoryDecoder.h:82
KDIS::UTILS::KRef_Ptr< FactoryDecoder< DecoderBaseTyp > > FacDecPtr
Definition: FactoryDecoder.h:108
static void ClearFactoryDecoders()
Description: Removes all factory decoders.
Definition: FactoryDecoder.h:162
Definition: FactoryDecoder.h:76
static DecoderBaseTyp * FactoryDecode(KINT32 EnumVal, KDataStream &stream)
Note: An exception may be thrown by a decoder.
Definition: FactoryDecoder.h:145
FactoryDecoder()
Definition: FactoryDecoder.h:80
static std::map< KINT32, FacDecPtr > m_mDecoders
Definition: FactoryDecoder.h:112
Definition: KDefines.h:182
Definition: KDataStream.h:48
int KINT32
Definition: KDefines.h:104
virtual DecoderBaseTyp * FactoryDecode(KINT32 EnumVal, KDataStream &stream)=0
Definition: KDefines.h:137
std::stringstream KStringStream
Definition: KDefines.h:117
Definition: FactoryDecoder.h:104
Definition: KRef_Ptr.h:73
static void RegisterFactoryDecoder(KINT32 EnumVal, FacDecPtr Decoder)
Definition: FactoryDecoder.h:125