felipealmeida pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b2a07ca150c96515df83800f078ccef84723a7eb
commit b2a07ca150c96515df83800f078ccef84723a7eb Author: Felipe Magno de Almeida <[email protected]> Date: Mon Jun 6 04:09:23 2016 -0300 eo-cxx: Remove commented headers --- src/Makefile_Cxx.am | 2 - src/bindings/cxx/eo_cxx/eo_inherit.hh | 155 ------------------------- src/bindings/cxx/eo_cxx/eo_inherit_bindings.hh | 141 ---------------------- 3 files changed, 298 deletions(-) diff --git a/src/Makefile_Cxx.am b/src/Makefile_Cxx.am index 4343b5d..671db7a 100644 --- a/src/Makefile_Cxx.am +++ b/src/Makefile_Cxx.am @@ -10,8 +10,6 @@ bindings/cxx/eo_cxx/eo_concrete.hh \ bindings/cxx/eo_cxx/eo_cxx_interop.hh \ bindings/cxx/eo_cxx/eo_event.hh \ bindings/cxx/eo_cxx/Eo.hh \ -bindings/cxx/eo_cxx/eo_inherit.hh \ -bindings/cxx/eo_cxx/eo_inherit_bindings.hh \ bindings/cxx/eo_cxx/eo_init.hh \ bindings/cxx/eo_cxx/eo_ops.hh \ bindings/cxx/eo_cxx/eo_wref.hh \ diff --git a/src/bindings/cxx/eo_cxx/eo_inherit.hh b/src/bindings/cxx/eo_cxx/eo_inherit.hh deleted file mode 100644 index 96ee1dc..0000000 --- a/src/bindings/cxx/eo_cxx/eo_inherit.hh +++ /dev/null @@ -1,155 +0,0 @@ - -// /// -// /// @file eo_inherit.hh -// /// - -// #ifndef EFL_CXX_EO_INHERIT_HH -// #define EFL_CXX_EO_INHERIT_HH - -// #include <tuple> -// #include <cassert> - -// #include <eina_integer_sequence.hh> - -// #include "eo_ops.hh" -// #include "eo_private.hh" -// #include "eo_cxx_interop.hh" - -// namespace efl { namespace eo { - -// namespace detail { - -// template <typename D, typename... E, std::size_t... S> -// Eo_Class const* create_class(eina::index_sequence<S...>); - -// /// @internal -// /// -// /// @brief Find the correct function for the <em>"constructor"</em> -// /// operation and invoke it. -// /// -// /// @param this_ The <em>user data</em> to be passed to the resolved function. -// /// @param args An heterogeneous sequence of arguments. -// /// -// inline EO_VOID_FUNC_BODYV(inherit_constructor, EO_FUNC_CALL(this_), void* this_); - -// } - -// /// @addtogroup Efl_Cxx_API -// /// @{ - -// /// @brief Template-class that allows client code to inherit from -// /// <em>EO C++ Classes</em> without the need to make explicit calls to -// /// <em>EO</em> methods --- that would naturally be necessary to -// /// register itself in the <em>EO Subsystem</em>. -// /// -// /// @param D The derived class -// /// @param O The parent class -// /// @param E Class extensions (either mixins or interfaces) -// /// -// /// The derived class @p D will inherit all EO operations and event -// /// callbacks from the parent class @p P, as well as from the <c>Base -// /// Class</c> (@ref efl::eo::concrete) since every EO C++ Class must -// /// inherit from it. -// /// -// /// efl::eo::inherit makes use of meta-template elements to build (in -// /// compile-time) code capable of registering @p D as an <em>EO -// /// Class</em> within <em>EO Subsystem</em>. Each class is registered -// /// only once upon instantiation of an object of its type. -// /// -// /// @note Function overriding is currently not supported. -// /// -// template <typename D, typename... E> -// struct inherit; - -// /// @} - -// /// @addtogroup Efl_Cxx_API -// /// @{ - -// template <typename D, typename... E> -// struct inherit -// : detail::operations<E>::template type<inherit<D, E...> > ... -// , detail::conversion_operator<inherit<D, E...>, E>... -// { -// /// @typedef inherit_base -// /// -// typedef inherit<D, E...> inherit_base; - -// //@{ -// /// @brief Class constructor. -// /// -// /// @ref inherit has a "variadic" constructor implementation that -// /// allows from zero to EFL_MAX_ARGS heterogeneous parameters. -// /// -// template<typename... Args> -// inherit(efl::eo::parent_type _p, Args&& ... args) -// { -// _eo_cls = detail::create_class<D, E...> (eina::make_index_sequence<sizeof...(E)>()); -// _eo_raw = eo_add_ref(_eo_cls, _p._eo_raw, detail::inherit_constructor(eo_self, this), ::efl::eolian::call_ctors(eo_self, args...)); -// ::efl::eolian::register_ev_del_free_callback(_eo_raw, args...); -// } - -// template<typename... Args> -// inherit(Args&& ... args) -// : inherit(::efl::eo::parent = nullptr, std::forward<Args>(args)...) -// {} -// //@} - -// /// @brief Class destructor. -// /// -// ~inherit() -// { -// detail::unref(_eo_raw); -// } - -// /// @brief Gets the <em>EO Object</em> corresponding to this <em>EO -// /// C++ Object</em>. -// /// -// /// @return A pointer to the <em>EO Object</em>. -// /// -// Eo* _eo_ptr() const { return _eo_raw; } - -// /// @brief Gets the <em>EO Class</em> corresponding to this <em>EO -// /// C++ Class</em>. -// /// -// /// @return A pointer to the <em>EO Class</em>. -// /// -// Eo_Class const* _eo_class() const { return _eo_cls; } - -// Eo* _release() -// { -// Eo* tmp = _eo_raw; -// _eo_raw = nullptr; -// return tmp; -// } - -// protected: -// /// @brief Copy constructor. -// /// -// inherit(inherit const& other) -// : _eo_cls(other._eo_cls) -// , _eo_raw(other._eo_raw) -// { detail::ref(_eo_raw); } - -// /// @brief Assignment Operator -// /// -// inherit& operator=(inherit const& other) -// { -// _eo_cls = other._eo_cls; -// _eo_raw = other._eo_raw; -// detail::ref(_eo_raw); -// return *this; -// } - -// private: -// Eo_Class const* _eo_cls; ///< The <em>EO Class</em>. -// Eo* _eo_raw; ///< The <em>EO Object</em>. -// }; - -// /// @} - -// } } // namespace efl { namespace eo { - -// #include "eo_inherit_bindings.hh" - -// #endif // EFL_CXX_INHERIT_HH diff --git a/src/bindings/cxx/eo_cxx/eo_inherit_bindings.hh b/src/bindings/cxx/eo_cxx/eo_inherit_bindings.hh deleted file mode 100644 index bb29b9e..0000000 --- a/src/bindings/cxx/eo_cxx/eo_inherit_bindings.hh +++ /dev/null @@ -1,141 +0,0 @@ - -#ifndef EFL_CXX_DETAIL_INHERIT_BINDINGS_HH -#define EFL_CXX_DETAIL_INHERIT_BINDINGS_HH - -#include <typeinfo> -#include <eina_integer_sequence.hh> - -namespace efl { namespace eo { namespace detail { - -/// @addtogroup Efl_Cxx_Detail -/// @{ - -/// @internal -/// -/// @brief Sums up the number of <em>EO Operations</em> of each class -/// passed as argument to the template. -/// -/// @see efl::eo::detail::operation_description_class_size -/// -template <typename... E> -struct operation_description_size; - -template <typename E0, typename... E> -struct operation_description_size<E0, E...> -{ - static const int value = operation_description_class_size<E0>::value + - operation_description_size<E...>::value; -}; - -template <> -struct operation_description_size<> -{ - static const int value = 0; -}; - -template <typename... Args> -void call_varargs(Args...) -{ -} - -/// @internal -/// -/// @brief The procedure that actually is invoked when the constructor -/// of @c D is sought from the <em>EO Subsystem</em>. -/// -/// @param self A pointer to @p obj's private data. -/// @param this_ A void pointer to the opaque <em>EO Class</em> --- -/// passed as <em>user data</em>. -/// -inline -void inherit_constructor_impl(Eo*, Inherit_Private_Data* self, void* this_) -{ - self->this_ = this_; -} - -template <typename T> -int initialize_operation_description(detail::tag<void>, void*); - -template <std::size_t I, typename... E> -struct -operation_description_index -{ - typedef std::tuple<E...> tuple_type; - static const std::size_t value = - detail::operation_description_size - < typename std::tuple_element - <I-1, tuple_type>::type >::value + - operation_description_index<I-1, E...>::value; -}; -template <typename... E> -struct -operation_description_index<0u, E...> -{ - static const std::size_t value = 0u; -}; - -/// @internal -/// -/// @brief This function is responsible for declaring a new <em>EO C -/// Class</em> representing @p D within <em>EO Subsystem</em>. -/// -/// @param D The derived class -/// @param P The parent class -/// @param En Class extensions (either mixins or interfaces) -/// @param Args An heterogeneous list of arguments to be passed to the -/// constructor of this class. -/// -/// @see efl::eo::inherit::inherit -/// -template <typename D, typename... E, std::size_t ... S> -Eo_Class const* create_class(eina::index_sequence<S...>) -{ - static const Eo_Class* my_class = NULL; - static Eo_Op_Description op_descs - [ detail::operation_description_size<E...>::value + 2 ]; - - op_descs[detail::operation_description_size<E...>::value].func = - reinterpret_cast<void*> - ( - &detail::inherit_constructor_impl - ); - op_descs[detail::operation_description_size<E...>::value].api_func = - reinterpret_cast<void*> - ( - &detail::inherit_constructor - ); - op_descs[detail::operation_description_size<E...>::value].op_type = EO_OP_TYPE_REGULAR; - - op_descs[detail::operation_description_size<E...>::value+1].func = 0; - op_descs[detail::operation_description_size<E...>::value+1].api_func = 0; - op_descs[detail::operation_description_size<E...>::value+1].op_type = EO_OP_TYPE_INVALID; - - typedef inherit<D, E...> inherit_type; - using namespace detail; - call_varargs( - initialize_operation_description<inherit_type> - (detail::tag<E>(), - &op_descs[operation_description_index<S, E...>::value]) ... - ); - - //locks - if(!my_class) - { - static Eo_Class_Description class_desc = { - EO_VERSION, - "Eo C++ Class", - EO_CLASS_TYPE_REGULAR, - EO_CLASS_DESCRIPTION_OPS(op_descs), - NULL, - sizeof(detail::Inherit_Private_Data), - NULL, - NULL - }; - my_class = detail::do_eo_class_new<E...>(class_desc); - } - return my_class; -} - -} } } // namespace efl { namespace eo { namespace detail { - -#endif // EFL_CXX_DETAIL_INHERIT_BINDINGS_HH --
