// Interpreter chain access
template <class Type>
-prefix_ bool senf::PacketInterpreterBase::is()
-{
- // ensure that the template argument is included in the corresponding object file when linking:
- { static typename PacketInterpreter<Type>::factory_t _ (PacketInterpreter<Type>::factory()); (void) _;}
- return dynamic_cast< PacketInterpreter<Type>* >(this);
-}
-
-template <class Type>
prefix_ typename senf::PacketInterpreter<Type>::ptr senf::PacketInterpreterBase::as()
{
// ensure that the template argument is included in the corresponding object file when linking:
// senf::PacketInterpreter<PacketType>
template <class PacketType>
-prefix_ typename senf::PacketInterpreter<PacketType>::factory_t
+prefix_ senf::PacketInterpreterBase::factory_t
senf::PacketInterpreter<PacketType>::factory()
{
return & factory_;
// PacketType access
template <class PacketType>
-prefix_ typename senf::PacketInterpreter<PacketType>::size_type
+prefix_ senf::PacketInterpreterBase::size_type
senf::PacketInterpreter<PacketType>::initSize()
{
return type::initSize();
}
template <class PacketType>
-prefix_ typename senf::PacketInterpreter<PacketType>::size_type
+prefix_ senf::PacketInterpreterBase::size_type
senf::PacketInterpreter<PacketType>::initHeadSize()
{
size_type sz (type::initHeadSize());