felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bde4b6e9dfd01348c0aa81bd2bf625e8d9ee5e50

commit bde4b6e9dfd01348c0aa81bd2bf625e8d9ee5e50
Author: Felipe Magno de Almeida <[email protected]>
Date:   Wed Jul 16 20:13:46 2014 -0300

    eolian-cxx: Added eo_base extension_inheritance
    
    Added eo::base as a partial specialization for extension inheritance,
    since eo::base is not generated.
---
 src/bindings/eo_cxx/eo_base.hh | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/bindings/eo_cxx/eo_base.hh b/src/bindings/eo_cxx/eo_base.hh
index a99d614..cdb8e64 100644
--- a/src/bindings/eo_cxx/eo_base.hh
+++ b/src/bindings/eo_cxx/eo_base.hh
@@ -230,6 +230,27 @@ inline bool operator!=(base const& lhs, base const& rhs)
   return !(lhs == rhs);
 }
 
+namespace detail {
+
+template <typename T>
+struct extension_inheritance;
+  
+template<>
+struct extension_inheritance<base>
+{
+   template <typename T>
+   struct type
+   {
+      operator base() const
+      {
+         return base(eo_ref(static_cast<T const*>(this)->_eo_ptr()));
+      }
+
+   };
+};
+
+}
+
 /// @brief Downcast @p U to @p T.
 ///
 /// @param T An <em>EO C++ Class</em>.

-- 


Reply via email to