Fix documentation build under maverick (doxygen 1.7.1)
[senf.git] / senf / Packets / PacketImpl.ih
index 32ce82c..619859f 100644 (file)
 #include <senf/config.hh>
 #include <senf/Utils/IgnoreValue.hh>
 
-///////////////////////////////ih.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace senf {
 
     struct ComplexAnnotation;
-    void dumpPacketAnnotationRegistry(std::ostream & os);
 
 namespace detail {
 
@@ -155,8 +154,16 @@ namespace detail {
         virtual ~EntryBase() {}
 
         virtual void * get() = 0;
+
+        typedef EntryBase * ptr;
+        virtual ptr clone() const = 0;
     };
 
+    inline AnnotationRegistry::EntryBase::ptr new_clone( AnnotationRegistry::EntryBase const & entry)
+    {
+        return entry.clone();
+    }
+
     template <class Annotation>
     class AnnotationRegistry::Entry
         : public AnnotationRegistry::EntryBase
@@ -169,6 +176,7 @@ namespace detail {
             { senf::IGNORE(&proxy_); return key_; }
 
         virtual void * get() { return & annotation_; }
+        virtual EntryBase::ptr clone() const { return new Entry<Annotation>( *this); }
 
     private:
         Annotation annotation_;
@@ -178,7 +186,7 @@ namespace detail {
 
 }}
 
-///////////////////////////////ih.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #endif
 
 \f