Socket/Protocols/Raw: EUI64 documentation
[senf.git] / PPI / AnnotationRouter.hh
index e8ea799..705eb8d 100644 (file)
@@ -28,6 +28,7 @@
 
 // Custom includes
 #include <boost/ptr_container/ptr_map.hpp>
+#include "../Utils/String.hh"
 #include "Module.hh"
 #include "Connectors.hh"
 
@@ -38,17 +39,17 @@ namespace senf {
 namespace ppi {
 namespace module {
 
-    /** \brief Route packets to destination according to some annotation value
+    /** \brief %Route packets to destination according to some annotation value
 
         This router takes packet on a single input and directs them to one of it outputs depending
-        on a \link packet_usage_annotation packet annotation\endlink. Each output connected
+        on a \ref packet_usage_annotation "packet annotation". Each output connected
         will be associated with a single annotation value. Incoming packets for which no matching
         output is found are directed to a default output. If this output is left unconnected, those
         packets will be dropped.
 
         The \a AnnotationType template parameter defines the routing key. This annotation must
         support the following operations:
-        \li Comparison with '<' (\c LessThanCompatable concept)
+        \li Comparison with '<' (\c LessThanComparable concept)
         \li Copy construction and copy assignment (\c Copyable und \c Assignable concepts)
             (e.g. via compiler synthesized copy constructor and assignment operator)
         \li Output streaming to an ostream via '\c <<' (for error description purposes) (\c
@@ -75,7 +76,7 @@ namespace module {
         mac address and allows to pass a senf::MACAddress value as routing key directly:
 
         \code
-        senf::ppi::module::AnnotationRouter router;
+        senf::ppi::module::AnnotationRouter<TargetInterface> router;
 
         senf::ppi::connect(router, target1, senf::MACAddress::from_string("00:1a:2b:04:06:08"));
         \endcode
@@ -104,7 +105,7 @@ namespace module {
         struct DuplicateKeyException : public senf::Exception
         { DuplicateKeyException(AnnotationType const & key) 
               : senf::Exception("Duplicate senf::ppi::module::AnnotationRouter routing key ")
-                { append(boost::lexical_cast<std::string>(key)); } };
+                { append( senf::str(key)); } };
 
     private:
         connector::ActiveOutput<> & newOutput(AnnotationType const & key);