eo-cxx: Remove commented headers

This commit is contained in:
Felipe Magno de Almeida 2016-06-06 04:09:23 -03:00
parent 27429cf40b
commit b2a07ca150
3 changed files with 0 additions and 298 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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