X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketParser.hh;h=db7a32fbca119361570d012e26c9afcee227aa9a;hb=a3d3979b7daaf22ea63ca356edbfa8047dff7b78;hp=631bf10f915736700f0796cabcbba485d9f8b80b;hpb=d084c02e4914da4fa1a4098a33d704f69e8bdedd;p=senf.git diff --git a/Packets/PacketParser.hh b/Packets/PacketParser.hh index 631bf10..db7a32f 100644 --- a/Packets/PacketParser.hh +++ b/Packets/PacketParser.hh @@ -63,6 +63,11 @@ Every parser is derived from senf::PacketParserBase. This class provides the necessary housekeeping information and provides the parsers with access to the data. + + \warning Parsers are like iterators: They are invalidated whenever the size of the packet's + data is changed. You should not store a parser anywhere. If you want to keep a parser + reference, use the senf::SafePacketParser wrapper. You still will need to take extra care to + ensure the parser is not invalidated. */ #ifndef HH_PacketParser_ @@ -536,8 +541,10 @@ namespace senf { location will \e not be updated accordingly and therefore the parser will be invalid. - Additionally a SafePacketparser has an uninitialized state. The only allowed operations in + Additionally a SafePacketParser has an uninitialized state. The only allowed operations in this state are the boolean test for validity and assigning another parser. + + \ingroup packetparser */ template class SafePacketParser