Utils: Revamp documentation overview and add some missing docs
[senf.git] / Packets / Packet.hh
index fabd6a4..44dcf2f 100644 (file)
@@ -27,8 +27,8 @@
 // Custom includes
 #include <boost/operators.hpp>
 
-#include "Utils/Exception.hh"
-#include "Utils/SafeBool.hh"
+#include "../Utils/Exception.hh"
+#include "../Utils/safe_bool.hh"
 #include "PacketInterpreter.hh"
 
 //#include "Packet.mpp"
@@ -135,7 +135,7 @@ namespace senf {
             \ref packetparser for a specification of the parser interface
       */
     class Packet
-        : public SafeBool<Packet>,
+        : public safe_bool<Packet>,
           public boost::equality_comparable<Packet>
     {
     public:
@@ -184,6 +184,8 @@ namespace senf {
 
                                      Packet      next() const; 
                                         ///< Get next packet in chain
+                                        /**< \returns in - valid() packet, if no next packet 
+                                             exists */
         template <class OtherPacket> OtherPacket next() const; 
                                         ///< Get next packet of given type in chain
                                         /**< \throws InvalidPacketChainException if no such packet
@@ -192,7 +194,8 @@ namespace senf {
                                         ///< Get next packet of given type in chain
                                         /**< \param[in] nothrow This argument always has the value
                                              \c senf::nothrow
-                                             \returns in-valid() packet, if no such packet is found */
+                                             \returns in - valid() packet, if no such packet is
+                                             found */
         template <class OtherPacket> OtherPacket findNext() const;
                                         ///< Find next packet of given type in chain
                                         /**< findNext() is like next(), it will however return \c
@@ -205,11 +208,14 @@ namespace senf {
                                              *this if it is of the given type.
                                              \param[in] nothrow This argument always has the value
                                              \c senf::nothrow
-                                             \returns in-valid() packet, if no such packet is found */
+                                             \returns in - valid() packet, if no such packet is
+                                             found */
         
 
                                      Packet      prev() const; 
                                         ///< Get previous packet in chain
+                                        /**< \returns in - valid() packet, if no previous packet 
+                                             exists */
         template <class OtherPacket> OtherPacket prev() const; 
                                         ///< Get previous packet of given type in chain
                                         /**< \throws InvalidPacketChainException if no such packet
@@ -218,7 +224,8 @@ namespace senf {
                                         ///< Get previous packet of given type in chain
                                         /**< \param[in] nothrow This argument always has the value
                                              \c senf::nothrow
-                                             \returns in-valid() packet, if no such packet is found */
+                                             \returns in - valid() packet, if no such packet is
+                                             found */
         template <class OtherPacket> OtherPacket findPrev() const;
                                         ///< Find previous packet of given type in chain
                                         /**< findPrev() is like prev(), it will however return \c
@@ -231,7 +238,8 @@ namespace senf {
                                              *this if it is of the type 
                                              \param[in] nothrow This argument always has the value
                                              \c senf::nothrow
-                                             \returns in-valid() packet, if no such packet is found */
+                                             \returns in - valid() packet, if no such packet is
+                                             found */
 
 
                                      Packet      first() const;
@@ -244,7 +252,8 @@ namespace senf {
                                         ///< Return first packet of given type in chain
                                         /**< \param[in] nothrow This argument always has the value
                                              \c senf::nothrow
-                                             \returns in-valid() packet, if no such packet is found */
+                                             \returns in - valid() packet, if no such packet is
+                                             found */
 
                                      Packet      last() const;
                                         ///< Return last packet in chain
@@ -256,7 +265,8 @@ namespace senf {
                                         ///< Return last packet of given type in chain
                                         /**< \param[in] nothrow This argument always has the value
                                              \c senf::nothrow
-                                             \returns in-valid() packet, if no such packet is found */
+                                             \returns in - valid() packet, if no such packet is
+                                             found */
 
 
         template <class OtherPacket> OtherPacket parseNextAs() const;
@@ -321,10 +331,12 @@ namespace senf {
         bool boolean_test() const;      ///< Check, whether the packet is valid()
                                         /**< \see valid() */
         bool valid() const;             ///< Check, whether the packet is valid()
-                                        /**< An in-valid() packet does not allow any operation
-                                             except checking for validity and assignment. in-valid()
-                                             packets serve the same role as 0-pointers. */
-        
+                                        /**< An in - valid() packet does not allow any operation
+                                             except checking for validity and assignment. in -
+                                             valid() packets serve the same role as 0-pointers. 
+                                             
+                                             This is an alias for boolean_test() which is called
+                                             when using a packet in a boolean context. */
 
         void finalize() const;          ///< Update calculated fields
                                         /**< This call will update all calculated fields of the
@@ -354,7 +366,7 @@ namespace senf {
         factory_t factory() const;      ///< Return factory instance of \c this packet
                                         /**< The returned factory instance can be used to create new
                                              packets of the given type without knowing the concrete
-                                             type of the packet. The valid may be stored away for
+                                             type of the packet. The value may be stored away for
                                              later use if needed. */
         
         ///@}
@@ -372,6 +384,7 @@ namespace senf {
         
         template <class PacketType>
         friend class ConcretePacket;
+        friend class PacketParserBase;
     };
 
     /** \brief Protocol specific packet handle
@@ -581,7 +594,7 @@ namespace senf {
 
 ///////////////////////////////hh.e////////////////////////////////////////
 #endif
-#if !defined(SENF_PACKETS_DECL_ONLY) && !defined(HH_Packet_i_)
+#if !defined(HH_Packets__decls_) && !defined(HH_Packet_i_)
 #define HH_Packet_i_
 #include "Packet.cci"
 #include "Packet.ct"
@@ -599,12 +612,3 @@ namespace senf {
 // comment-column: 40
 // End:
 
-//  LocalWords:  defgroup li html png STL ConcretePacket PacketInterpreterBase
-//  LocalWords:  PacketInterpreter PacketImpl OtherPacket EthernetPacket param
-//  LocalWords:  EthernetPacketType PacketData packetparser nothrow senf prev
-//  LocalWords:  InvalidPacketChainException findNext findPrev parseNextAs tt
-//  LocalWords:  PacketType SomePacketType createAfter createBefore noinit href
-//  LocalWords:  PacketTypeBase TruncatedPacketException http www org Institut
-//  LocalWords:  Fraunhofer fuer offene Kommunikationssysteme FOKUS SatCom Bund
-//  LocalWords:  Kompetenzzentrum Satelitenkommunikation berlios de hh
-//  LocalWords:  addtogroup Structors PacketType dil PacketType's