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, and efl::eo::parent.
|
inline |
Gets the EO Object corresponding to this EO C++ Object.
|
inline |
Gets the EO Class corresponding to this EO C++ Class.