X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketImpl.hh;h=5ec43f6ce60ccc1bff2e7575d7d61a6384d21d09;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=7ba7cb03ecf897700b16de8735343157db64f2c8;hpb=47368f306a577d1e46df69a7f729bd3893cbe5e7;p=senf.git diff --git a/Packets/PacketImpl.hh b/Packets/PacketImpl.hh index 7ba7cb0..5ec43f6 100644 --- a/Packets/PacketImpl.hh +++ b/Packets/PacketImpl.hh @@ -36,6 +36,15 @@ namespace senf { namespace detail { + /** \brief Internal: Packet data storage + + \internal + + This is the class holding the packet data and the interpreter chain. All manipulations of + the packet data are performed via the interface exported here. This is very important, since + PacketImpl will update the interpreters (that is the vector indices stored therein) whenever + the data is changed. + */ class PacketImpl : boost::noncopyable, public pool_alloc_mixin @@ -92,9 +101,14 @@ namespace detail { void erase(PacketData * self, iterator first, iterator last); void clear(PacketData * self); - // The Guard will keep the PacketImpl instance alive during a members execution time - // It the refcount should drop to 0, PacketImpl will be deleted after the member - // has completed executing. + /** \brief Internal: Keep PacketImpl instance alive + + \internal + + The Guard will keep the PacketImpl instance alive during a members execution time + It the refcount should drop to 0, PacketImpl will be deleted after the member + has completed executing. + */ struct Guard { Guard(PacketImpl * impl); ~Guard(); @@ -108,12 +122,14 @@ namespace detail { void eraseInterpreters(interpreter_list::iterator b, interpreter_list::iterator e); void updateIterators(PacketData * self, iterator pos, difference_type n); - }; }} ///////////////////////////////hh.e//////////////////////////////////////// +#endif +#if !defined(SENF_PACKETS_DECL_ONLY) && !defined(HH_PacketImpl_i_) +#define HH_PacketImpl_i_ #include "PacketImpl.cci" //#include "PacketImpl.ct" #include "PacketImpl.cti" @@ -126,4 +142,7 @@ namespace detail { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: +