minor fixes for clang++
[senf.git] / senf / Packets / PacketInterpreter.cti
index 469d617..e4604e4 100644 (file)
 // 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:
@@ -67,7 +59,7 @@ prefix_ Annotation & senf::PacketInterpreterBase::annotation()
 // senf::PacketInterpreter<PacketType>
 
 template <class PacketType>
-prefix_ typename senf::PacketInterpreter<PacketType>::factory_t
+prefix_ senf::PacketInterpreterBase::factory_t
 senf::PacketInterpreter<PacketType>::factory()
 {
     return & factory_;
@@ -103,14 +95,14 @@ senf::PacketInterpreter<PacketType>::create(ForwardReadableRange const & range)
 
 template <class PacketType>
 prefix_ typename senf::PacketInterpreter<PacketType>::ptr
-senf::PacketInterpreter<PacketType>::createAfter(PacketInterpreterBase::ptr packet)
+senf::PacketInterpreter<PacketType>::createAfter(PacketInterpreterBase::ptr const & packet)
 {
     return createAfter(packet, initSize());
 }
 
 template <class PacketType>
 prefix_ typename senf::PacketInterpreter<PacketType>::ptr
-senf::PacketInterpreter<PacketType>::createAfter(PacketInterpreterBase::ptr packet, senf::NoInit_t)
+senf::PacketInterpreter<PacketType>::createAfter(PacketInterpreterBase::ptr const & packet, senf::NoInit_t)
 {
     return createAfter(packet, 0, senf::noinit);
 }
@@ -157,7 +149,7 @@ senf::PacketInterpreter<PacketType>::create(detail::PacketImpl * impl, iterator
 template <class PacketType>
 prefix_ typename senf::PacketInterpreter<PacketType>::ptr
 senf::PacketInterpreter<PacketType>::create(detail::PacketImpl * impl, iterator b, iterator e,
-                                            PacketInterpreterBase::ptr before)
+                                            PacketInterpreterBase::ptr const & before)
 {
     return ptr(new PacketInterpreter(impl,b,e,before));
 }
@@ -178,21 +170,21 @@ template <class PacketType>
 prefix_
 senf::PacketInterpreter<PacketType>::PacketInterpreter(detail::PacketImpl * impl, iterator b,
                                                        iterator e,
-                                                       PacketInterpreterBase::ptr before)
+                                                       PacketInterpreterBase::ptr const & before)
     : PacketInterpreterBase(impl,b,e,before)
 {}
 
 // 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());