summaryrefslogtreecommitdiff
path: root/include/interface.h
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-04-02 23:12:31 +0200
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-04-02 23:12:31 +0200
commita3bd6dc04d5210ddeffdda5884f51c0e5b37ec27 (patch)
tree41ec4059d1c713e117126e1e131564946e0b27ad /include/interface.h
parentbbdcdae98979e002476fc1e8296effd0b270928b (diff)
added Class::implements() method to allow classes that implement interfaces (request from issue #52)
Diffstat (limited to 'include/interface.h')
-rw-r--r--include/interface.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/interface.h b/include/interface.h
index 36f4d50..32462c8 100644
--- a/include/interface.h
+++ b/include/interface.h
@@ -41,12 +41,18 @@ public:
// return self
return *this;
}
-
-private:
+
/**
- * Namespaces have access to the private base class
+ * The namespace needs to have access to the private ClassBase base
+ * class, to actually register the interface.
*/
friend class Namespace;
+
+ /**
+ * All Php::Class<AnyThing> also need access to the base class to
+ * register an interface.
+ */
+ template<typename ANYTHING> friend class Class;
};
/**