Public Types | Public Member Functions
efl::eina::inlist< T, Allocator > Class Template Reference

C++ wrapper for the native Eina inline list. More...

Public Types

typedef _base_type::allocator_type allocator_type
 Type for the allocator. More...
 
typedef allocator_type::value_type value_type
 The type of each element. More...
 
typedef allocator_type::reference reference
 Type for a reference to an element. More...
 
typedef allocator_type::const_reference const_reference
 Type for a constant reference to an element. More...
 
typedef _inlist_iterator< T const > const_iterator
 Type for constant iterator for this kind of container. More...
 
typedef _inlist_iterator< T > iterator
 Type for iterator for this kind of container. More...
 
typedef allocator_type::pointer pointer
 Type for a pointer to an element. More...
 
typedef allocator_type::const_pointer const_pointer
 Type for a constant pointer for an element. More...
 
typedef std::size_t size_type
 Type for size information. More...
 
typedef std::ptrdiff_t difference_type
 Type to represent the distance between two iterators. More...
 
typedef _base_type::native_handle_type native_handle_type
 The native handle type. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Type for reverse iterator for this kind of container. More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Type for constant reverse iterator for this kind of container. More...
 

Public Member Functions

 inlist ()
 Default constructor. More...
 
 inlist (native_handle_type list)
 Construct an inlist from a native object. More...
 
 inlist (size_type n, value_type const &t)
 Construct an inline list object with n copies of t. More...
 
template<typename InputIterator >
 inlist (InputIterator i, InputIterator const &j, allocator_type const &alloc=allocator_type(), typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *=0)
 Create a inline list coping the elements from the given range. More...
 
 inlist (inlist< T, Allocator >const &other)
 Copy constructor. More...
 
inlist< T, Allocator > & operator= (inlist< T, Allocator >const &other)
 Replace current content with the content of another inline list. More...
 
size_type size () const
 Get the current size of the inline list. More...
 
bool empty () const
 Check if the inline list is empty. More...
 
allocator_type get_allocator () const
 Get the allocator used in this inline list.
 
void push_back (T const &value)
 Add a copy of the given element at the end of the inline list. More...
 
void push_front (T const &value)
 Add a copy of the given element at the beginning of the inline list. More...
 
void pop_back ()
 Remove the last element of the inline list.
 
void pop_front ()
 Remove the first element of the inline list.
 
iterator insert (iterator i, value_type const &t)
 Insert a new element at the given position. More...
 
iterator insert (iterator i, size_t n, value_type const &t)
 Insert n copies of t at the given position. More...
 
template<typename InputIterator >
iterator insert (iterator p, InputIterator i, InputIterator j, typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *=0)
 Insert the elements between the given range at the given position. More...
 
iterator erase (iterator q)
 Remove the element at the given position. More...
 
iterator erase (iterator i, iterator j)
 Remove the elements between the given range. More...
 
template<typename InputIterator >
void assign (InputIterator i, InputIterator j, typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *=0)
 Replace the content of the inline list by the elements in the given range. More...
 
void assign (size_type n, value_type const &t)
 Replace the content of the inline list by n copies t. More...
 
value_typeback ()
 Get a reference to the last element. More...
 
value_type const & back () const
 Get a constant reference to the last element. More...
 
value_typefront ()
 Get a reference to the first element. More...
 
value_type const & front () const
 Get a constant reference to the first element. More...
 
const_iterator begin () const
 Get a constant iterator pointing to the first element of the inline list. More...
 
const_iterator end () const
 Get a constant iterator to the position following the last element of the inline list. More...
 
iterator begin ()
 Get an iterator pointing to the first element of the inline list. More...
 
iterator end ()
 Get an iterator to the position following the last element of the inline list. More...
 
const_reverse_iterator rbegin () const
 Get a constant reverse iterator pointing to the reverse begin of the inline list. More...
 
const_reverse_iterator rend () const
 Get a constant reverse iterator pointing to the reverse end of the inline list. More...
 
reverse_iterator rbegin ()
 Get a reverse iterator pointing to the reverse begin of the inline list. More...
 
reverse_iterator rend ()
 Get a reverse iterator pointing to the reverse end of the inline list. More...
 
const_iterator cbegin () const
 Get a constant iterator pointing to the first element of the inline list. More...
 
const_iterator cend () const
 Get a constant iterator to the position following the last element of the inline list. More...
 
const_reverse_iterator crbegin () const
 Get a constant reverse iterator pointing to the reverse begin of the inline list. More...
 
const_reverse_iterator crend () const
 Get a constant reverse iterator pointing to the reverse end of the inline list. More...
 
void swap (inlist< T, Allocator > &other)
 Swap content between two inline lists. More...
 
size_type max_size () const
 Get the maximum number of elements a inline list can hold. More...
 
Eina_Inlistnative_handle ()
 Get the handle for the wrapped Eina_Inlist. More...
 
Eina_Inlist const * native_handle () const
 Get the handle for the wrapped Eina_Inlist. More...
 
eina::accessor< T const > accessor () const
 Get a constant eina::accessor for the list. More...
 
eina::accessor< T > accessor ()
 Get a eina::accessor for the list. More...
 
void clear ()
 Deallocate all nodes of the list.
 

Additional Inherited Members

- Protected Types inherited from efl::eina::_inlist_common_base< T, Allocator >
typedef Allocator::template rebind< _inlist_node< T > >::other node_allocator_type
 Type for the allocator of the node. More...
 
typedef Allocator allocator_type
 Type for the allocator. More...
 
typedef _inlist_node< T > node_type
 Type for the list node. More...
 
typedef Eina_Inlistnative_handle_type
 Native type. More...
 
- Protected Member Functions inherited from efl::eina::_inlist_common_base< T, Allocator >
 _inlist_common_base (Allocator allocator)
 Creates a list with the given allocator. More...
 
 _inlist_common_base (native_handle_type inlist)
 Wraps the native object. More...
 
 _inlist_common_base ()
 Creates an empty inline list.
 
 ~_inlist_common_base ()
 Destructor. More...
 
void clear ()
 Deallocate all nodes of the list.
 
node_allocator_typeget_node_allocator ()
 Get the allocator used by the list.
 
- Protected Attributes inherited from efl::eina::_inlist_common_base< T, Allocator >
_inlist_impl _impl
 

Detailed Description

template<typename T, typename Allocator = std::allocator<T>>
class efl::eina::inlist< T, Allocator >

C++ wrapper for the native Eina inline list.

It provides an OOP interface to the Eina_Inlist functions, and automatically take care of allocating and deallocating resources using the RAII programming idiom.

It also provides additional member functions to facilitate the access to the list content, much like a STL list.

Member Typedef Documentation

◆ allocator_type

template<typename T, typename Allocator = std::allocator<T>>
typedef _base_type::allocator_type efl::eina::inlist< T, Allocator >::allocator_type

Type for the allocator.

◆ value_type

template<typename T, typename Allocator = std::allocator<T>>
typedef allocator_type::value_type efl::eina::inlist< T, Allocator >::value_type

The type of each element.

◆ reference

template<typename T, typename Allocator = std::allocator<T>>
typedef allocator_type::reference efl::eina::inlist< T, Allocator >::reference

Type for a reference to an element.

◆ const_reference

template<typename T, typename Allocator = std::allocator<T>>
typedef allocator_type::const_reference efl::eina::inlist< T, Allocator >::const_reference

Type for a constant reference to an element.

◆ const_iterator

template<typename T, typename Allocator = std::allocator<T>>
typedef _inlist_iterator<T const> efl::eina::inlist< T, Allocator >::const_iterator

Type for constant iterator for this kind of container.

◆ iterator

template<typename T, typename Allocator = std::allocator<T>>
typedef _inlist_iterator<T> efl::eina::inlist< T, Allocator >::iterator

Type for iterator for this kind of container.

◆ pointer

template<typename T, typename Allocator = std::allocator<T>>
typedef allocator_type::pointer efl::eina::inlist< T, Allocator >::pointer

Type for a pointer to an element.

◆ const_pointer

template<typename T, typename Allocator = std::allocator<T>>
typedef allocator_type::const_pointer efl::eina::inlist< T, Allocator >::const_pointer

Type for a constant pointer for an element.

◆ size_type

template<typename T, typename Allocator = std::allocator<T>>
typedef std::size_t efl::eina::inlist< T, Allocator >::size_type

Type for size information.

◆ difference_type

template<typename T, typename Allocator = std::allocator<T>>
typedef std::ptrdiff_t efl::eina::inlist< T, Allocator >::difference_type

Type to represent the distance between two iterators.

◆ native_handle_type

template<typename T, typename Allocator = std::allocator<T>>
typedef _base_type::native_handle_type efl::eina::inlist< T, Allocator >::native_handle_type

The native handle type.

◆ reverse_iterator

template<typename T, typename Allocator = std::allocator<T>>
typedef std::reverse_iterator<iterator> efl::eina::inlist< T, Allocator >::reverse_iterator

Type for reverse iterator for this kind of container.

◆ const_reverse_iterator

template<typename T, typename Allocator = std::allocator<T>>
typedef std::reverse_iterator<const_iterator> efl::eina::inlist< T, Allocator >::const_reverse_iterator

Type for constant reverse iterator for this kind of container.

Constructor & Destructor Documentation

◆ inlist() [1/5]

template<typename T, typename Allocator = std::allocator<T>>
efl::eina::inlist< T, Allocator >::inlist ( )
inline

Default constructor.

Creates an empty inline list.

◆ inlist() [2/5]

template<typename T, typename Allocator = std::allocator<T>>
efl::eina::inlist< T, Allocator >::inlist ( native_handle_type  list)
inline

Construct an inlist from a native object.

Parameters
listThe native object.

◆ inlist() [3/5]

template<typename T, typename Allocator = std::allocator<T>>
efl::eina::inlist< T, Allocator >::inlist ( size_type  n,
value_type const &  t 
)
inline

Construct an inline list object with n copies of t.

Parameters
nNumber of elements.
tValue to be copied to each element.

This constructor creates an inline list with n elements, each one as a copy of t.

References efl::eina::inlist< T, Allocator >::push_back().

◆ inlist() [4/5]

template<typename T, typename Allocator = std::allocator<T>>
template<typename InputIterator >
efl::eina::inlist< T, Allocator >::inlist ( InputIterator  i,
InputIterator const &  j,
allocator_type const &  alloc = allocator_type(),
typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *  = 0 
)
inline

Create a inline list coping the elements from the given range.

Parameters
iIterator to the initial position. The element pointed by this iterator will be copied.
jIterator to the final position. The element pointed by this iterator will NOT be copied.

This constructor creates a inline list with copies of the elements between i and j in the same order.

Note
The ending element (pointed by j) is not copied.

References efl::eina::inlist< T, Allocator >::push_back().

◆ inlist() [5/5]

template<typename T, typename Allocator = std::allocator<T>>
efl::eina::inlist< T, Allocator >::inlist ( inlist< T, Allocator >const &  other)
inline

Copy constructor.

Creates a copy of the given inline list.

Parameters
otherAnother inline list of the same type.

This constructor creates an inline list containing a copy of each element inside other in the same order.

References efl::eina::inlist< T, Allocator >::begin(), efl::eina::inlist< T, Allocator >::end(), and efl::eina::inlist< T, Allocator >::insert().

Member Function Documentation

◆ operator=()

template<typename T, typename Allocator = std::allocator<T>>
inlist<T, Allocator>& efl::eina::inlist< T, Allocator >::operator= ( inlist< T, Allocator >const &  other)
inline

Replace current content with the content of another inline list.

Parameters
otherAnother inline list of the same type.

This assignment operator replaces the content of the list by a copy of the content of other. The list size is adjusted accordingly and the newly copied elements keep their original order.

References efl::eina::inlist< T, Allocator >::begin(), efl::eina::_inlist_common_base< T, Allocator >::clear(), efl::eina::inlist< T, Allocator >::end(), and efl::eina::inlist< T, Allocator >::insert().

◆ size()

template<typename T, typename Allocator = std::allocator<T>>
size_type efl::eina::inlist< T, Allocator >::size ( ) const
inline

Get the current size of the inline list.

Returns
Number of elements in the inline list.

This member function returns the current number of elements inside the inline list.

References efl::eina::inlist< T, Allocator >::native_handle().

Referenced by efl::eina::operator==().

◆ empty()

template<typename T, typename Allocator = std::allocator<T>>
bool efl::eina::inlist< T, Allocator >::empty ( ) const
inline

Check if the inline list is empty.

Returns
true if the inline list is empty, false otherwise.

This member function returns true if the inline list does not contain any elements, otherwise it returns false.

References efl::eina::inlist< T, Allocator >::native_handle().

◆ push_back()

template<typename T, typename Allocator = std::allocator<T>>
void efl::eina::inlist< T, Allocator >::push_back ( T const &  value)
inline

Add a copy of the given element at the end of the inline list.

Parameters
valueElement to be added at the end of the inline list.

This member function allocates a new element at the end of the inline list, the content of value is copied to the new element.

References eina_inlist_append(), and efl::eina::_inlist_common_base< T, Allocator >::get_node_allocator().

Referenced by efl::eina::inlist< T, Allocator >::inlist().

◆ push_front()

template<typename T, typename Allocator = std::allocator<T>>
void efl::eina::inlist< T, Allocator >::push_front ( T const &  value)
inline

Add a copy of the given element at the beginning of the inline list.

Parameters
valueElement to be added at the beginning of the inline list.

This member function allocates a new element at the beginning of the inline list, the content of value is copied to the new element.

References eina_inlist_prepend(), and efl::eina::_inlist_common_base< T, Allocator >::get_node_allocator().

◆ insert() [1/3]

template<typename T, typename Allocator = std::allocator<T>>
iterator efl::eina::inlist< T, Allocator >::insert ( iterator  i,
value_type const &  t 
)
inline

Insert a new element at the given position.

Parameters
iIterator pointing to the position where the new element will be inserted.
tValue to be copied to the new element.
Returns
Iterator pointing to the new element inserted.

This member function inserts a copy of the element t at the position i. The new element comes right before the element originally pointed by i.

At the end, a valid iterator pointing to the element just inserted is returned.

References efl::eina::_inlist_common_base< T, Allocator >::get_node_allocator().

Referenced by efl::eina::inlist< T, Allocator >::assign(), efl::eina::inlist< T, Allocator >::inlist(), efl::eina::inlist< T, Allocator >::insert(), and efl::eina::inlist< T, Allocator >::operator=().

◆ insert() [2/3]

template<typename T, typename Allocator = std::allocator<T>>
iterator efl::eina::inlist< T, Allocator >::insert ( iterator  i,
size_t  n,
value_type const &  t 
)
inline

Insert n copies of t at the given position.

Parameters
iIterator pointing to the position where the new elements will be inserted.
nNumber of elements to be inserted.
tValue to be copied to each new inserted element.
Returns
Iterator pointing to the first inserted element.

This member function inserts n new elements at position i in the inline list, each one as a copy of t. The new elements come right before the element originally pointed by i.

At the end, a valid iterator pointing to the first element inserted is returned.

References efl::eina::inlist< T, Allocator >::insert().

◆ insert() [3/3]

template<typename T, typename Allocator = std::allocator<T>>
template<typename InputIterator >
iterator efl::eina::inlist< T, Allocator >::insert ( iterator  p,
InputIterator  i,
InputIterator  j,
typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *  = 0 
)
inline

Insert the elements between the given range at the given position.

Parameters
pIterator pointing to the position where the new elements will be inserted.
iIterator to the initial position. The element pointed by this iterator will be copied.
jIterator to the final position. The element pointed by this iterator will NOT be copied.
Returns
Iterator pointing to the first inserted element.

This member function inserts a copy of the elements between i and j at the position p. The new elements come right before the element originally pointed by p. Note that the element pointed by j is not copied.

References efl::eina::inlist< T, Allocator >::insert().

◆ erase() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
iterator efl::eina::inlist< T, Allocator >::erase ( iterator  q)
inline

Remove the element at the given position.

Parameters
qIterator pointing to the element to be removed.
Returns
Iterator pointing to the element after the removed one.

This member function removes the element pointed by the iterator q, reducing the list size by one. At the end, a valid iterator pointing to the element right after the removed one is returned.

Referenced by efl::eina::inlist< T, Allocator >::erase().

◆ erase() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
iterator efl::eina::inlist< T, Allocator >::erase ( iterator  i,
iterator  j 
)
inline

Remove the elements between the given range.

Parameters
iIterator pointing to the starting position to be removed.
jIterator pointing to the ending position to be removed. The element pointed by this iterator is not removed.
Returns
Iterator pointing to the new position of the first non-removed element after the removed ones (i.e. the one originally pointed by j).

This member function removes the elements between the iterators i and j, including the element pointed by i but not the element pointed by .

References efl::eina::inlist< T, Allocator >::end(), and efl::eina::inlist< T, Allocator >::erase().

◆ assign() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
template<typename InputIterator >
void efl::eina::inlist< T, Allocator >::assign ( InputIterator  i,
InputIterator  j,
typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *  = 0 
)
inline

Replace the content of the inline list by the elements in the given range.

Parameters
iIterator pointing to the beginning of the elements to be copied.
jIterator pointing to the end of the elements to be copied. Note that the element pointed by j will NOT be copied.

This member function replaces the current elements by copies of the elements between the iterators i and j, including the element pointed by i but not the one pointed by j. The size of the list is adjusted accordingly and the newly copied elements remain in their original order.

References efl::eina::_inlist_common_base< T, Allocator >::clear(), efl::eina::inlist< T, Allocator >::end(), and efl::eina::inlist< T, Allocator >::insert().

◆ assign() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
void efl::eina::inlist< T, Allocator >::assign ( size_type  n,
value_type const &  t 
)
inline

Replace the content of the inline list by n copies t.

Parameters
nNumber of elements.
tValue to be copied to each element.

References efl::eina::_inlist_common_base< T, Allocator >::clear(), efl::eina::inlist< T, Allocator >::end(), and efl::eina::inlist< T, Allocator >::insert().

◆ back() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
value_type& efl::eina::inlist< T, Allocator >::back ( )
inline

Get a reference to the last element.

Returns
Reference to the last element in the inline list.

References efl::eina::inlist< T, Allocator >::native_handle().

◆ back() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
value_type const& efl::eina::inlist< T, Allocator >::back ( ) const
inline

Get a constant reference to the last element.

Returns
Constant reference to the last element in the inline list.

Version of back() for const-qualified inline list objects. Returns a constant reference instead.

References efl::eina::inlist< T, Allocator >::native_handle().

◆ front() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
value_type& efl::eina::inlist< T, Allocator >::front ( )
inline

Get a reference to the first element.

Returns
Reference to the first element of the inline list.

References efl::eina::inlist< T, Allocator >::native_handle().

◆ front() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
value_type const& efl::eina::inlist< T, Allocator >::front ( ) const
inline

Get a constant reference to the first element.

Returns
Constant reference to the first element of the inline list.

Version of front() for const-qualified inline list objects. Returns a constant reference instead.

References efl::eina::inlist< T, Allocator >::native_handle().

◆ begin() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
const_iterator efl::eina::inlist< T, Allocator >::begin ( ) const
inline

Get a constant iterator pointing to the first element of the inline list.

Returns
Constant iterator to the initial position of the inline list.

Version of begin() for const-qualified inline list objects. Returns a constant iterator instead.

References efl::eina::inlist< T, Allocator >::native_handle().

Referenced by efl::eina::inlist< T, Allocator >::cbegin(), efl::eina::inlist< T, Allocator >::inlist(), efl::eina::inlist< T, Allocator >::operator=(), efl::eina::operator==(), and efl::eina::inlist< T, Allocator >::rend().

◆ end() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
const_iterator efl::eina::inlist< T, Allocator >::end ( ) const
inline

Get a constant iterator to the position following the last element of the inline list.

Returns
Constant iterator to the final position of the inline list.

Version of end() for const-qualified inline list objects. Returns a constant iterator instead.

References efl::eina::inlist< T, Allocator >::native_handle().

Referenced by efl::eina::inlist< T, Allocator >::assign(), efl::eina::inlist< T, Allocator >::cend(), efl::eina::inlist< T, Allocator >::erase(), efl::eina::inlist< T, Allocator >::inlist(), efl::eina::inlist< T, Allocator >::operator=(), efl::eina::operator==(), and efl::eina::inlist< T, Allocator >::rbegin().

◆ begin() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
iterator efl::eina::inlist< T, Allocator >::begin ( )
inline

Get an iterator pointing to the first element of the inline list.

Returns
Iterator to the initial position of the inline list.

This member function returns an iterator pointing to the first element of the inline list. If the list is empty the returned iterator is the same as the one returned by end().

References efl::eina::inlist< T, Allocator >::native_handle().

◆ end() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
iterator efl::eina::inlist< T, Allocator >::end ( )
inline

Get an iterator to the position following the last element of the inline list.

Returns
Iterator to the final position of the inline list.

This member function returns an iterator to the position following the last element in the inline list. If the list is empty the returned iterator is the same as the one returned by begin().

Note
Note that attempting to access this position causes undefined behavior.

References efl::eina::inlist< T, Allocator >::native_handle().

◆ rbegin() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
const_reverse_iterator efl::eina::inlist< T, Allocator >::rbegin ( ) const
inline

Get a constant reverse iterator pointing to the reverse begin of the inline list.

Returns
Constant reverse iterator pointing to the reverse begin of the inline list.

Version of rbegin() for const-qualified inline list objects. Returns a constant reverse iterator instead.

References efl::eina::inlist< T, Allocator >::end().

Referenced by efl::eina::inlist< T, Allocator >::crbegin().

◆ rend() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
const_reverse_iterator efl::eina::inlist< T, Allocator >::rend ( ) const
inline

Get a constant reverse iterator pointing to the reverse end of the inline list.

Returns
Constant reverse iterator pointing to the reverse end of the inline list.

Version of rend() for const-qualified inline list objects. Returns a constant reverse iterator instead.

References efl::eina::inlist< T, Allocator >::begin().

Referenced by efl::eina::inlist< T, Allocator >::crend().

◆ rbegin() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
reverse_iterator efl::eina::inlist< T, Allocator >::rbegin ( )
inline

Get a reverse iterator pointing to the reverse begin of the inline list.

Returns
Reverse iterator pointing to the reverse begin of the inline list.

This member function returns a reverse iterator pointing to the last element of the inline list. If the list is empty the returned reverse iterator is the same as the one returned by rend().

References efl::eina::inlist< T, Allocator >::end().

◆ rend() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
reverse_iterator efl::eina::inlist< T, Allocator >::rend ( )
inline

Get a reverse iterator pointing to the reverse end of the inline list.

Returns
Reverse iterator pointing to the reverse end of the inline list.

This member function returns a reverse iterator pointing to the position before the first element of the inline list. If the list is empty the returned iterator is the same as the one returned by rbegin().

Note
Note that attempting to access this position causes undefined behavior.

References efl::eina::inlist< T, Allocator >::begin().

◆ cbegin()

template<typename T, typename Allocator = std::allocator<T>>
const_iterator efl::eina::inlist< T, Allocator >::cbegin ( ) const
inline

Get a constant iterator pointing to the first element of the inline list.

Returns
Constant iterator to the initial position of the inline list.

This member function works like begin() const but is granted to return a constant iterator even for lists that are not const-qualified.

References efl::eina::inlist< T, Allocator >::begin().

◆ cend()

template<typename T, typename Allocator = std::allocator<T>>
const_iterator efl::eina::inlist< T, Allocator >::cend ( ) const
inline

Get a constant iterator to the position following the last element of the inline list.

Returns
Constant iterator to the final position of the inline list.

This member function works like end() const but is granted to return a constant iterator even for lists that are not const-qualified.

References efl::eina::inlist< T, Allocator >::end().

◆ crbegin()

template<typename T, typename Allocator = std::allocator<T>>
const_reverse_iterator efl::eina::inlist< T, Allocator >::crbegin ( ) const
inline

Get a constant reverse iterator pointing to the reverse begin of the inline list.

Returns
Constant reverse iterator pointing to the reverse begin of the inline list.

This member function works like rbegin() const but is granted to return a constant reverse iterator even for lists that are not const-qualified.

References efl::eina::inlist< T, Allocator >::rbegin().

◆ crend()

template<typename T, typename Allocator = std::allocator<T>>
const_reverse_iterator efl::eina::inlist< T, Allocator >::crend ( ) const
inline

Get a constant reverse iterator pointing to the reverse end of the inline list.

Returns
Constant reverse iterator pointing to the reverse end of the inline list.

This member function works like rend() const but is granted to return a constant reverse iterator even for lists that are not const-qualified.

References efl::eina::inlist< T, Allocator >::rend().

◆ swap()

template<typename T, typename Allocator = std::allocator<T>>
void efl::eina::inlist< T, Allocator >::swap ( inlist< T, Allocator > &  other)
inline

Swap content between two inline lists.

Parameters
otherOther inline list of the same type.

References efl::eina::swap().

Referenced by efl::eina::swap().

◆ max_size()

template<typename T, typename Allocator = std::allocator<T>>
size_type efl::eina::inlist< T, Allocator >::max_size ( ) const
inline

Get the maximum number of elements a inline list can hold.

Returns
Maximum number of elements a inline list can hold.

◆ native_handle() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
Eina_Inlist* efl::eina::inlist< T, Allocator >::native_handle ( )
inline

Get the handle for the wrapped Eina_Inlist.

Returns
Internal handle for the native Eina inline list.

This member function returns the native Eina_Inlist handle that is wrapped inside this object.

Warning
It is important to take care when using it, since the handle will be automatically release upon object destruction.

Referenced by efl::eina::inlist< T, Allocator >::back(), efl::eina::inlist< T, Allocator >::begin(), efl::eina::inlist< T, Allocator >::empty(), efl::eina::inlist< T, Allocator >::end(), efl::eina::inlist< T, Allocator >::front(), and efl::eina::inlist< T, Allocator >::size().

◆ native_handle() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
Eina_Inlist const* efl::eina::inlist< T, Allocator >::native_handle ( ) const
inline

Get the handle for the wrapped Eina_Inlist.

Returns
Internal handle for the native Eina inline list.

This member function returns the native Eina_Inlist handle that is wrapped inside this object.

Warning
It is important to take care when using it, since the handle will be automatically release upon object destruction.

◆ accessor() [1/2]

template<typename T, typename Allocator = std::allocator<T>>
eina::accessor<T const> efl::eina::inlist< T, Allocator >::accessor ( ) const
inline

Get a constant eina::accessor for the list.

Returns
Constant eina::accessor to the list.

Version of accessor() to const-qualified inline lists. Returns a const-qualified eina::accessor instead.

References eina_inlist_accessor_new().

◆ accessor() [2/2]

template<typename T, typename Allocator = std::allocator<T>>
eina::accessor<T> efl::eina::inlist< T, Allocator >::accessor ( )
inline

Get a eina::accessor for the list.

Returns
eina::accessor to the list.

References eina_inlist_accessor_new().