efl::eo::concrete Struct Reference

Public Member Functions | Protected Attributes
efl::eo::concrete Struct Reference
Efl_Cxx_API

Creates concrete versions for Eo wrappers. More...

## Public Member Functions
| concrete (Eo *eo)
| Class constructor. More...
| concrete ()
| Default constructor. More...
| ~concrete ()
| Class destructor.
| concrete (concrete const &other)
| concrete (concrete &&other)
concrete & | operator= (concrete const &other)
| Assignment operator.
concrete & | operator= (concrete &&other)
Eo * | _eo_ptr () const
| Return a pointer to the EO Object stored in this instance. More...
Eo * | _release ()
| Releases the reference from this concrete object and return the pointer to the EO Object stored in this instance. More...
void | _reset (Eo *_ptr=nullptr)
| Reset the current pointer to reference a new Eo object.
int | ref_get () const
| Get the reference count of this object. More...
void | parent_set (concrete parent)
| Set the parent of this object. More...
eina::optional< concrete > | parent_get ()
| Get the parent of this object. More...
Eo_Dbg_Info | dbg_info_get ()
| Get debug information of this object. More...
| operator bool () const

## Protected Attributes
Eo * | _eo_raw
| The opaque EO Object.

## Detailed Description

Creates concrete versions for Eo wrappers.

This class creates the concrete version of all C++ Eo wrappers. It holds the Eo pointer that is used on all operations and provides some functions for manipulating it.

## Constructor & Destructor Documentation

## ◆ concrete() [1/2]

efl::eo::concrete::concrete | ( | Eo * | eo | ) |
| inlineexplicit

Class constructor.

Parameters

  eo | The EO Object.

efl::eo::concrete constructors semantics are that of stealing the EO Object lifecycle management. Its constructors do not increment the EO reference counter but the destructors do decrement.

## ◆ concrete() [2/2]

efl::eo::concrete::concrete | ( |  | ) |
| inline

Default constructor.

Constructs a NULL initialized efl::eo::concrete object.

Referenced by parent_get(), and ~concrete().

## Member Function Documentation

## ◆ _eo_ptr()

Eo* efl::eo::concrete::_eo_ptr | ( |  | ) | const
| inline

Return a pointer to the EO Object stored in this instance.

Returns
  A pointer to the opaque EO Object.

References _eo_raw.

Referenced by parent_set().

## ◆ _release()

Eo* efl::eo::concrete::_release | ( |  | ) |
| inline

Releases the reference from this concrete object and return the pointer to the EO Object stored in this instance.

Returns
  A pointer to the opaque EO Object.

References _eo_raw.

## ◆ ref_get()

int efl::eo::concrete::ref_get | ( |  | ) | const
| inline

Get the reference count of this object.

Returns
  The referencer count of this object.

References _eo_raw.

## ◆ parent_set()

void efl::eo::concrete::parent_set | ( | concrete | parent | ) |
| inline

Set the parent of this object.

Parameters

  parent | The new parent.

References _eo_ptr(), and _eo_raw.

## ◆ parent_get()

eina::optional<concrete> efl::eo::concrete::parent_get | ( |  | ) |
| inline

Get the parent of this object.

Returns
  An efl::eo::concrete instance that binds the parent object. Returns NULL if there is no parent.

References _eo_raw, and concrete().

## ◆ dbg_info_get()

Eo_Dbg_Info efl::eo::concrete::dbg_info_get | ( |  | ) |
| inline

Get debug information of this object.

Returns
  The root node of the debug information tree.

References _eo_raw.