Public Types | Public Member Functions | Friends
efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type > Class Template Reference

Public Types

typedef T value_type
 The type of each element. More...
 
typedef T & reference
 Type for a reference to an element. More...
 
typedef T const & const_reference
 Type for a constant reference to an element. More...
 
typedef _ptr_eo_array_iterator< T const > const_iterator
 Type for a iterator for this container. More...
 
typedef _ptr_eo_array_iterator< T > iterator
 Type for a constant iterator for this container. More...
 
typedef T * pointer
 Type for a pointer to an element. More...
 
typedef T const * const_pointer
 Type for a constant pointer for an element. More...
 
typedef _base_type::size_type size_type
 Type for size information used in the array. More...
 
typedef _base_type::difference_type difference_type
 Type to represent the distance between two iterators. More...
 
typedef _base_type::clone_allocator_type clone_allocator_type
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Type for the clone allocator. More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Type for reverse iterator for this container. More...
 
typedef _base_type::native_handle_type native_handle_type
 Type for the native handle of the container. More...
 

Public Member Functions

 array (native_handle_type handle)
 
 array (clone_allocator_type alloc)
 
 array (size_type n, const_reference t)
 
template<typename InputIterator >
 array (InputIterator i, InputIterator const &j, clone_allocator_type const &alloc=clone_allocator_type(), typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *=0)
 
 array (array< T, CloneAllocator > const &other)
 
template<typename CloneAllocator1 >
 array (array< T, CloneAllocator1 >const &other)
 
array< T, CloneAllocator > & operator= (array< T, CloneAllocator >const &other)
 
void push_back (const_reference w)
 
iterator insert (iterator i, value_type const &t)
 
iterator insert (iterator i, size_t n, value_type const &t)
 
template<typename InputIterator >
iterator insert (iterator p, InputIterator i, InputIterator j, typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *=0)
 
iterator erase (iterator p)
 
iterator erase (iterator i, iterator j)
 
template<typename InputIterator >
void assign (InputIterator i, InputIterator j, typename eina::enable_if<!eina::is_integral< InputIterator >::value >::type *=0)
 
void assign (size_type n, value_type const &t)
 
reference front ()
 
reference back ()
 
const_reference front () const
 
const_reference back () const
 
const_reference operator[] (size_type n) const
 
reference operator[] (size_type n)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
eina::iterator< value_typeibegin ()
 
eina::iterator< value_typeiend ()
 
eina::iterator< value_type const > ibegin () const
 
eina::iterator< value_type const > iend () const
 
eina::iterator< value_type const > cibegin () const
 
eina::iterator< value_type const > ciend () const
 
void clear ()
 Remove all the elements of the array.
 
std::size_t size () const
 Get the current size of the array. More...
 
bool empty () const
 Check if the array is empty. More...
 
clone_allocator_type get_clone_allocator () const
 Get the clone allocator of the array. More...
 
void pop_back ()
 Remove the last element of the array.
 
void swap (ptr_array< T, CloneAllocator > &other)
 Swap content between two arrays. More...
 
size_type max_size () const
 Get the maximum number of elements ptr_array can hold. More...
 
Eina_Arrayrelease_native_handle ()
 
Eina_Arraynative_handle ()
 Get a handle for the wrapped Eina_Array. More...
 
Eina_Array const * native_handle () const
 Get a constant handle for the wrapped Eina_Array. More...
 

Friends

bool operator== (array< T, CloneAllocator > const &lhs, array< T, CloneAllocator > const &rhs)
 

Member Typedef Documentation

◆ value_type

template<typename T , typename CloneAllocator >
typedef T efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::value_type

The type of each element.

◆ reference

template<typename T , typename CloneAllocator >
typedef T& efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::reference

Type for a reference to an element.

◆ const_reference

template<typename T , typename CloneAllocator >
typedef T const& efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::const_reference

Type for a constant reference to an element.

◆ const_iterator

template<typename T , typename CloneAllocator >
typedef _ptr_eo_array_iterator<T const> efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::const_iterator

Type for a iterator for this container.

◆ iterator

template<typename T , typename CloneAllocator >
typedef _ptr_eo_array_iterator<T> efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::iterator

Type for a constant iterator for this container.

◆ pointer

template<typename T , typename CloneAllocator >
typedef T* efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::pointer

Type for a pointer to an element.

◆ const_pointer

template<typename T , typename CloneAllocator >
typedef T const* efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::const_pointer

Type for a constant pointer for an element.

◆ size_type

template<typename T , typename CloneAllocator >
typedef _base_type::size_type efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::size_type

Type for size information used in the array.

◆ difference_type

template<typename T , typename CloneAllocator >
typedef _base_type::difference_type efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::difference_type

Type to represent the distance between two iterators.

◆ reverse_iterator

template<typename T , typename CloneAllocator >
typedef std::reverse_iterator<iterator> efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::reverse_iterator

Type for the clone allocator.

Type for reverse iterator for this container.

◆ const_reverse_iterator

template<typename T , typename CloneAllocator >
typedef std::reverse_iterator<const_iterator> efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::const_reverse_iterator

Type for reverse iterator for this container.

◆ native_handle_type

template<typename T , typename CloneAllocator >
typedef _base_type::native_handle_type efl::eina::array< T, CloneAllocator, typename std::enable_if< ::efl::eo::is_eolian_object< T >::value >::type >::native_handle_type

Type for the native handle of the container.

Member Function Documentation

◆ size()

template<typename T , typename CloneAllocator >
std::size_t efl::eina::ptr_array< T, CloneAllocator >::size
inline

Get the current size of the array.

Returns
Number of elements in the array.

This member function returns the current number of elements inside the array.

◆ empty()

template<typename T , typename CloneAllocator >
bool efl::eina::ptr_array< T, CloneAllocator >::empty
inline

Check if the array is empty.

Returns
true if the array is empty, false otherwise.

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

◆ get_clone_allocator()

template<typename T , typename CloneAllocator >
clone_allocator_type efl::eina::ptr_array< T, CloneAllocator >::get_clone_allocator
inline

Get the clone allocator of the array.

Returns
Reference to the clone allocator.

◆ swap()

template<typename T , typename CloneAllocator >
void efl::eina::ptr_array< T, CloneAllocator >::swap
inline

Swap content between two arrays.

Parameters
otherOther ptr_array of the same type.

◆ max_size()

template<typename T , typename CloneAllocator >
size_type efl::eina::ptr_array< T, CloneAllocator >::max_size
inline

Get the maximum number of elements ptr_array can hold.

Returns
Maximum number of elements a ptr_array can hold.

◆ native_handle() [1/2]

template<typename T , typename CloneAllocator >
Eina_Array* efl::eina::ptr_array< T, CloneAllocator >::native_handle
inline

Get a handle for the wrapped Eina_Array.

Returns
Handle for the native Eina array.

This member function returns the native Eina_Array 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.

◆ native_handle() [2/2]

template<typename T , typename CloneAllocator >
Eina_Array const* efl::eina::ptr_array< T, CloneAllocator >::native_handle
inline

Get a constant handle for the wrapped Eina_Array.

Returns
Constant handle for the native Eina array.

Version of native_handle() for const-qualified objects. Returns a constant handle instead.

See also
native_handle()