efl::eina::_inlist_iterator< T > 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 | Friends
efl::eina::_inlist_iterator< T > Struct Template Reference
Eina C++Eina C++ » | Data Types » Containers » Inline List

## Public Types
typedef std::remove_const< T >::type | value_type
| Type for the list elements. More...
typedef value_type * | pointer
| Type for a pointer to an element. More...
typedef value_type & | reference
| Type for a reference to an element. More...
typedef std::ptrdiff_t | difference_type
| Type to represent the distance between two iterators. More...
typedef std::bidirectional_iterator_tag | iterator_category
| Defines the iterator as being a bidirectional iterator. More...

## Public Member Functions
| _inlist_iterator ()
| Default constructor. More...
| _inlist_iterator (_inlist_node< value_type > *list, _inlist_node< value_type > *node)
| Creates an iterator from a inline list and a node. More...
| _inlist_iterator (_inlist_iterator< typename std::remove_const< T >::type > const &other)
| Copy constructor. More...
_inlist_iterator< T > & | operator++ ()
| Move the iterator to the next position in the list. More...
_inlist_iterator< T > | operator++ (int)
| Move the iterator to the next position in the list. More...
_inlist_iterator< T > & | operator-- ()
| Move the iterator to the previous position in the list. More...
_inlist_iterator< T > | operator-- (int)
| Move the iterator to the previous position in the list. More...
T & | operator* () const
| Get a reference to the element currently pointed by the iterator. More...
T * | operator-> () const
| Return a pointer to the current element, which member will be accessed. More...
_inlist_node< value_type > * | native_handle ()
_inlist_node< value_type > const * | native_handle () const

## Friends
template<typename U >
struct | _inlist_iterator
| Check if both iterators are pointing to the same node. More...
bool | operator== (_inlist_iterator< T > lhs, _inlist_iterator< T > rhs)

## Member Typedef Documentation

template<typename T>

typedef std::remove_const<T>::type efl::eina::_inlist_iterator< T >::value_type

Type for the list elements.

template<typename T>

typedef value_type* efl::eina::_inlist_iterator< T >::pointer

Type for a pointer to an element.

template<typename T>

typedef value_type& efl::eina::_inlist_iterator< T >::reference

Type for a reference to an element.

template<typename T>

typedef std::ptrdiff_t efl::eina::_inlist_iterator< T >::difference_type

Type to represent the distance between two iterators.

template<typename T>

typedef std::bidirectional_iterator_tag efl::eina::_inlist_iterator< T >::iterator_category

Defines the iterator as being a bidirectional iterator.

## Constructor & Destructor Documentation

template<typename T>

efl::eina::_inlist_iterator< T >::_inlist_iterator | ( |  | ) |
| inline

Default constructor.

Creates an uninitialized iterator.

template<typename T>

efl::eina::_inlist_iterator< T >::_inlist_iterator | ( | _inlist_node< value_type > * | list,
|  | _inlist_node< value_type > * | node
| ) |  |
| inlineexplicit

Creates an iterator from a inline list and a node.

Parameters

  list | Pointer to the inline list.
  node | Pointer to the node.

template<typename T>

efl::eina::_inlist_iterator< T >::_inlist_iterator | ( | _inlist_iterator< typename std::remove_const< T >::type > const & | other | ) |
| inline

Copy constructor.

Creates a copy of the given iterator.

Parameters

  other | Other iterator.

## Member Function Documentation

template<typename T>

_inlist_iterator<T>& efl::eina::_inlist_iterator< T >::operator++ | ( |  | ) |
| inline

Move the iterator to the next position in the list.

Returns
  The 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>

_inlist_iterator<T> efl::eina::_inlist_iterator< T >::operator++ | ( | int |  | ) |
| inline

Move the iterator to the next position in the list.

Returns
  Copy of the iterator before the increment.

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

template<typename T>

_inlist_iterator<T>& efl::eina::_inlist_iterator< T >::operator-- | ( |  | ) |
| inline

Move the iterator to the previous position in the list.

Returns
  The 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>

_inlist_iterator<T> efl::eina::_inlist_iterator< T >::operator-- | ( | int |  | ) |
| inline

Move the iterator to the previous position in the list.

Returns
  Copy of the iterator before the decrement.

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 iterator before the decrement.

template<typename T>

T& efl::eina::_inlist_iterator< T >::operator* | ( |  | ) | const
| inline

Get a reference to the element currently pointed by the iterator.

Returns
  Reference to the current element.

template<typename T>

T* efl::eina::_inlist_iterator< T >::operator-> | ( |  | ) | const
| inline

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

Returns
  Pointer to the element currently pointed by the iterator.

## Friends And Related Function Documentation

template<typename T>
template<typename U >

friend struct _inlist_iterator
| friend

Check if both iterators are pointing to the same node.

Parameters

  lhs | First iterator to be compared.
  rhs | Second iterator to be compared.

Returns
  `true` if both iterators are pointing to the same node, `false` otherwise.