Packet: added Packet::reparse() and ::clearAnnotations() member
[senf.git] / senf / Packets / Packet.cci
index e5f9f4d..ef46112 100644 (file)
@@ -130,7 +130,6 @@ prefix_ senf::Packet::size_type senf::Packet::size()
     return data().size();
 }
 
-
 // Other methods
 
 prefix_ bool senf::Packet::operator==(Packet const & other)
@@ -191,6 +190,23 @@ prefix_ bool senf::Packet::valid()
     return *this;
 }
 
+prefix_ bool senf::Packet::is_shared()
+    const
+{
+    return ptr()->is_shared() || (ptr()->impl().refcount() > 1);
+}
+
+prefix_ void senf::Packet::reparse()
+    const
+{
+    return ptr()->reparse();
+}
+
+prefix_ void senf::Packet::clearAnnotations()
+{
+    return ptr()->clearAnnotations();
+}
+
 template <class PacketType, class Parser>
 prefix_ Parser senf::operator<<(Parser target, ConcretePacket<PacketType> const & packet)
 {