Utils/Termlib: Extend the completion API
[senf.git] / Socket / SocketPolicy.ih
index 0f70243..b335280 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 //
 // Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-//     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+//     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -24,8 +24,8 @@
     \brief Policy Framework internal header
  */
 
-#ifndef IH_SocketPolicy_
-#define IH_SocketPolicy_ 1
+#ifndef IH_SENF_Socket_SocketPolicy_
+#define IH_SENF_Socket_SocketPolicy_ 1
 
 // Custom includes
 #include <boost/preprocessor/seq/for_each.hpp>
@@ -50,8 +50,8 @@
 #include <boost/mpl/and.hpp>
 #include <boost/utility.hpp> // for enable_if
 
-#include "Utils/mpl.hh"
-#include "Utils/pool_alloc_mixin.hh"
+#include "../Utils/mpl.hh"
+#include "../Utils/pool_alloc_mixin.hh"
 
 ///////////////////////////////ih.p////////////////////////////////////////
 
@@ -71,7 +71,7 @@ namespace senf {
 
     struct SocketPolicyBase
     {
-        virtual ~SocketPolicyBase() {}
+        virtual ~SocketPolicyBase();
 
 #       define SP_Declare(x1,x2,SomePolicy)                                                       \
             virtual BOOST_PP_CAT(SomePolicy,Base) const & BOOST_PP_CAT(the,SomePolicy) ()         \
@@ -111,8 +111,6 @@ namespace senf {
 
 namespace impl {
 
-    struct nil {};
-
     template <class Base, class Policy, int _>
     struct MakeSocketPolicy_merge
     {};
@@ -150,7 +148,7 @@ namespace impl {
         {};
 
         template <class Base>
-        struct apply<Base,nil>
+        struct apply<Base,mpl::nil>
         {
             typedef Base type;
         };
@@ -201,7 +199,7 @@ namespace impl {
 
     template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( SENF_SOCKET_POLICIES_N, 
                                                     class T, 
-                                                    senf::impl::nil ) >
+                                                    mpl::nil ) >
     class MakeSocketPolicy
         : public boost::mpl::if_< boost::is_convertible< T0*, SocketPolicyBase* >,
                                   impl::MakeSocketPolicy_impl<