efl::eina::accessor_iterator< 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 | Data Fields
efl::eina::accessor_iterator< 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 Iterator Eina C++Eina C++ » | Data Types » | Content Access

Specialization for all data types that are not derivated from efl::eo::concrete. More...

## Public Types
typedef T | value_type
| Type of the elements. More...
typedef value_type * | pointer
| Pointer to element type. More...
typedef value_type & | reference
| Reference to element type. More...
typedef std::ptrdiff_t | difference_type
| Type to represent the distance between two accessor_iterators.
typedef std::input_iterator_tag | iterator_category
| Defines the iterator as being a random access iterator. More...

## Public Member Functions
| accessor_iterator (accessor< T > const &a, unsigned int pos=0u)
| Creates an `accessor_iterator` to the given `eina::accessor`. More...
accessor_iterator< T > & | operator+= (difference_type i)
| Move the iterator forward by `i` positions. More...
accessor_iterator< T > & | operator-= (difference_type i)
| Move the iterator back by `i` positions. More...
value_type | operator[] (difference_type i)
| Get the element `i` positions away from the current element. More...
accessor_iterator< T > & | operator++ ()
| Move the iterator to the next position. More...
accessor_iterator< T > & | operator-- ()
| Move the iterator to the previous position. More...
accessor_iterator< T > & | operator++ (int)
| Move the iterator to the next position. More...
accessor_iterator< T > & | operator-- (int)
| Move the iterator to the previous position. More...
value_type | operator* () const
| Get a reference to the element currently pointed by the `accessor_iterator`. More...
pointer | operator-> () const
| Return a pointer to a copy of the current element, which member will be accessed. More...
void | swap (accessor_iterator< T > &other)
| Swap content with the given `accessor_iterator`. More...

## Data Fields
accessor< T > | _accessor
unsigned int | _index
pointer | _tmp_value

## Detailed Description

### template<typename T>
struct efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >

Specialization for all data types that are not derivated from efl::eo::concrete.

## Member Typedef Documentation

template<typename T >

typedef T efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::value_type

Type of the elements.

template<typename T >

typedef value_type* efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::pointer

Pointer to element type.

template<typename T >

typedef value_type& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::reference

Reference to element type.

template<typename T >

typedef std::input_iterator_tag efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::iterator_category

Defines the iterator as being a random access iterator.

## Constructor & Destructor Documentation

template<typename T >

efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::accessor_iterator | ( | accessor< T > const & | a,
|  | unsigned int | pos = `0u`
| ) |  |
| inline

Creates an `accessor_iterator` to the given `eina::accessor`.

Parameters

  a | `eina::accessor` object.
  pos | Initial position of the iterator (Default = `0`).

This constructor creates an `accessor_iterator` for the given `eina::accessor` object. The position initially pointed by the iterator can be supplied via the `pos` argument, by default it is the first position (index `0`).

## Member Function Documentation

template<typename T >

accessor_iterator<T>& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator+= | ( | difference_type | i | ) |
| inline

Move the iterator forward by `i` positions.

Parameters

  i | Number of positions to move.

Returns
  The `accessor_iterator` itself.

template<typename T >

accessor_iterator<T>& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator-= | ( | difference_type | i | ) |
| inline

Move the iterator back by `i` positions.

Parameters

  i | Number of positions to move.

Returns
  The `accessor_iterator` itself.

template<typename T >

value_type efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator[] | ( | difference_type | i | ) |
| inline

Get the element `i` positions away from the current element.

Parameters

  i | Position relative to the current element.

Returns
  Copy of the element `i` positions away from the element currently pointed by the `accessor_iterator`.

template<typename T >

accessor_iterator<T>& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator++ | ( |  | ) |
| inline

Move the iterator to the next position.

Returns
  The `accessor_iterator` itself.

This operator increments the iterator, making it point to the position right after the current one. At the end, it returns a reference to itself.

template<typename T >

accessor_iterator<T>& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator-- | ( |  | ) |
| inline

Move the iterator to the previous position.

Returns
  The `accessor_iterator` itself.

This operator decrements the iterator, making it point to the position right before the current one. At the end, it returns a reference to itself.

template<typename T >

accessor_iterator<T>& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator++ | ( | int |  | ) |
| inline

Move the iterator to the next position.

Returns
  A copy of the `accessor_iterator` before the change.

This operator increments the iterator, making it point to the position right after the current one. At the end, it returns a copy of the `accessor_iterator` before the change.

template<typename T >

accessor_iterator<T>& efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator-- | ( | int |  | ) |
| inline

Move the iterator to the previous position.

Returns
  A copy of the `accessor_iterator` before the change.

This operator decrements the iterator, making it point to the position right before the current one. At the end, it returns a copy of the `accessor_iterator` before the change.

template<typename T >

value_type efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator* | ( |  | ) | const
| inline

Get a reference to the element currently pointed by the `accessor_iterator`.

Returns
  Copy of the current element.

template<typename T >

pointer efl::eina::accessor_iterator< T, typename std::enable_if< std::is_base_of<::efl::eo::concrete, T >::value, T >::type >::operator-> | ( |  | ) | const
| inline

Return a pointer to a copy of the current element, which member will be accessed.

Returns
  Pointer a copy of the element currently pointed by the `accessor_iterator`.

template<typename T >

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

Swap content with the given `accessor_iterator`.

Parameters

  other | Another `accessor_iterator` of the same type.

References efl::eina::swap().