efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type > Struct Template Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Types | Public Member Functions
efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type > Struct Template Reference
Eina C++Eina C++ » | Data Types » Content Access » Accessor

## Public Types
typedef accessor_common_base< T > | _base_type
typedef accessor< T > | _self_type
typedef _base_type::key_type | key_type
typedef _base_type::mapped_type | mapped_type
typedef _base_type::value_type | value_type
typedef _base_type::size_type | size_type
Public Types inherited from efl::eina::accessor_common_base< T >
typedef unsigned int | key_type
| Type for accessor key. More...
typedef T | mapped_type
| Type for accessor mapped elements. More...
typedef T | value_type
| Type for accessor elements. More...
typedef std::size_t | size_type
| Type for size information used in the accessor. More...

## Public Member Functions
| accessor ()
| Default constructor. More...
| accessor (Eina_Accessor *impl)
| Create an accessor object that wraps the given Eina accessor. More...
| accessor (_self_type const &other)
| Copy constructor. More...
_self_type & | operator= (_self_type const &other)
| Assignment Operator. More...
| ~accessor ()
| Destructor. More...
mapped_type & | operator[] (size_type i) const
| Retrieve the data of the accessor at a given position. More...
void | swap (_self_type &other)
| Swap content between both objects. More...
| operator bool () const
| Cast to `boolean` based on the wrapped `Eina_Accessor`. More...
Public Member Functions inherited from efl::eina::accessor_common_base< T >
| accessor_common_base ()
| Default constructor. More...
| accessor_common_base (Eina_Accessor *impl)
| Create an accessor object that wraps the given Eina accessor. More...
| accessor_common_base (accessor_common_base< T > const &other)
| Copy constructor. More...
accessor_common_base< T > & | operator= (accessor_common_base< T > const &other)
| Assignment Operator. More...
| ~accessor_common_base ()
| Destructor. More...
Eina_Accessor * | native_handle () const
| Get the handle for the wrapped `Eina_Accessor`. More...
void | swap (accessor_common_base< T > &other)
| Swap content between both objects. More...
| operator bool () const
| Cast to `boolean` based on the wrapped `Eina_Accessor`. More...

## Additional Inherited Members
Data Fields inherited from efl::eina::accessor_common_base< T >
Eina_Accessor * | _impl

## Constructor & Destructor Documentation

template<typename T >

efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::accessor | ( |  | ) |
| inline

Default constructor.

Creates an empty accessor.

template<typename T >

efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::accessor | ( | Eina_Accessor * | impl | ) |
| inlineexplicit

Create an accessor object that wraps the given Eina accessor.

Parameters

  impl | Native `Eina_Accessor` to be wrapped.

This constructor creates an accessor object that wraps the given Eina_Accessor and provides access to the data pointed by it.

Warning
  It is important to note that the created accessor object gains ownership of the given handle, deallocating it at destruction time.

template<typename T >

efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::accessor | ( | _self_type const & | other | ) |
| inline

Copy constructor.

Creates a copy of the given accessor object.

Parameters

  other | Other accessor object.

This constructor clones the internal `Eina_Accessor` of the given accessor object, so that the newly created object can be used freely.

template<typename T >

efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::~accessor | ( |  | ) |
| inline

Destructor.

Free the internal `Eina_Acessor`.

## Member Function Documentation

template<typename T >

_self_type& efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator= | ( | _self_type const & | other | ) |
| inline

Assignment Operator.

Replace the current content.

Parameters

  other | Other accessor object.

Exceptions

  <tt>eina::system_error</tt> | if the Eina accessor could not be cloned.

This operator replaces the current native Eina accessor by a copy of the native accessor inside the given object.

template<typename T >

mapped_type& efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator[] | ( | size_type | i | ) | const
| inline

Retrieve the data of the accessor at a given position.

Parameters

  i | The position of the element.

Returns
  Constant reference to the retrieved data.

Exceptions

  <tt>eina::system_error</tt> | if the given element could not be retrieved.

This operator retrieves a constant reference to the element at the given position. If the element could not be retrieved an `eina::system_error` is thrown.

References eina_accessor_data_get(), and efl::eina::get_error_code().

template<typename T >

void efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::swap | ( | _self_type & | other | ) |
| inline

Swap content between both objects.

Parameters

  other | Other accessor object.

This member function swaps the internal `Eina_Acessor` with the given accessor object.

References efl::eina::swap().

template<typename T >

efl::eina::accessor< T, typename std::enable_if< !std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator bool | ( |  | ) | const
| inlineexplicit

Cast to `boolean` based on the wrapped `Eina_Accessor`.

Returns
  `true` if the wrapped handle is not `NULL`, `false` otherwise.

Boolean typecast overload for easy validation of the accessor object. Returns `false` if it does not have an internal `Eina_Accessor`, i.e. if the current handle is not `NULL`.

References efl::eina::accessor_common_base< T >::native_handle().