Template-class that allows client code to inherit from EO C++ Classes without the need to make explicit calls to EO methods — that would naturally be necessary to register itself in the EO Subsystem. More...
Public Types | |
typedef inherit< D, E... > | inherit_base |
Public Member Functions | |
~inherit () | |
Class destructor. | |
Eo * | _eo_ptr () const |
Gets the EO Object corresponding to this EO C++ Object. More... | |
Eo_Class const * | _eo_class () const |
Gets the EO Class corresponding to this EO C++ Class. More... | |
Eo * | _release () |
template<typename... Args> | |
inherit (efl::eo::parent_type _p, Args &&...args) | |
Class constructor. More... | |
template<typename... Args> | |
inherit (Args &&...args) | |
Protected Member Functions | |
inherit (inherit const &other) | |
Copy constructor. | |
inherit & | operator= (inherit const &other) |
Assignment Operator. | |
Template-class that allows client code to inherit from EO C++ Classes without the need to make explicit calls to EO methods — that would naturally be necessary to register itself in the EO Subsystem.
D | The derived class |
O | The parent class |
E | Class extensions (either mixins or interfaces) |
The derived class D
will inherit all EO operations and event callbacks from the parent class P
, as well as from the Base Class
(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 D
as an EO Class within EO Subsystem. Each class is registered only once upon instantiation of an object of its type.
|
inline |
Class constructor.
inherit has a "variadic" constructor implementation that allows from zero to EFL_MAX_ARGS heterogeneous parameters.
References eo_add_ref.
|
inline |
Gets the EO Object corresponding to this EO C++ Object.
|
inline |
Gets the EO Class corresponding to this EO C++ Class.