Public Types | Public Member Functions
efl::eina::_mutable_range_template< T, Traits > Struct Template Reference

Range implementation for mutable collections. More...

Public Types

typedef container_value_type< T >::type value_type
 The type of each element. More...
 
typedef value_typereference_type
 
typedef value_type const & const_reference_type
 
typedef Traits::template iterator< value_type >::type iterator
 Type for a iterator to the range. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Type for constant reverse iterator to the range. More...
 
typedef Traits::template native_handle< value_type >::type native_handle_type
 Type for the native handle of the container. More...
 
typedef _const_range_template< T, Traits > _base_type
 Type for the base class. More...
 
- Public Types inherited from efl::eina::_const_range_template< T, Traits >
typedef container_value_type< T >::type value_type
 The type of each element. More...
 
typedef Traits::template const_iterator< value_type >::type const_iterator
 Type for constant iterator to the range. More...
 
typedef Traits::template iterator< value_type >::type iterator
 Type for iterator to the range. More...
 
typedef value_typereference
 Type for a reference to an element. More...
 
typedef value_type const & const_reference
 Type for a constant reference to an element. More...
 
typedef T * pointer
 Type for a pointer to an element. More...
 
typedef T const * const_pointer
 Type for a constant pointer to an element. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Type for reverse iterator to the range. More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Type for constant reverse iterator to the range. 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 Traits::template const_native_handle< T >::type native_handle_type
 Type for the native handle of the container. More...
 
typedef _const_range_template< T, Traits > _self_type
 Type of the range itself. More...
 

Public Member Functions

 _mutable_range_template (native_handle_type handle)
 Creates a range object wrapping the given native container handle.
 
native_handle_type release_native_handle ()
 Release the handle of the native Eina container. More...
 
native_handle_type native_handle () const
 Get a constant handle for the native Eina container. More...
 
reference_type back () const
 Get a reference to the last element. More...
 
reference_type front () const
 Get a reference to the first element. More...
 
iterator begin () const
 Get an iterator pointing to the first element of the range. More...
 
iterator end () const
 Get an iterator to the position following the last element of the range. More...
 
reverse_iterator rbegin () const
 Get a reverse iterator pointing to the reverse begin of the range. More...
 
reverse_iterator rend () const
 Get a reverse iterator pointing to the reverse end of the range. More...
 
- Public Member Functions inherited from efl::eina::_const_range_template< T, Traits >
 _const_range_template ()
 Creates a singular range object.
 
 _const_range_template (native_handle_type handle)
 Creates a range object wrapping the given native container handle.
 
native_handle_type release_native_handle ()
 Release the handle of the native Eina container. More...
 
native_handle_type native_handle () const
 Get a constant handle for the native Eina container. More...
 
value_type const & back () const
 Get a constant reference to the last 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 range. More...
 
const_iterator end () const
 Get a constant iterator to the position following the last element of the range. More...
 
const_reverse_iterator crbegin () const
 Get a constant reverse iterator pointing to the reverse begin of the range. More...
 
const_reverse_iterator crend () const
 Get a constant reverse iterator pointing to the reverse end of the range. More...
 
const_iterator cbegin () const
 Get a constant iterator pointing to the first element of the range. More...
 
const_iterator cend () const
 Get a constant iterator to the position following the last element of the range. More...
 
const_reverse_iterator rbegin ()
 Get a constant reverse iterator pointing to the reverse begin of the range. More...
 
const_reverse_iterator rend ()
 Get a constant reverse iterator pointing to the reverse end of the range. More...
 
bool empty () const
 Check if the range does not contain any elements. More...
 
size_type size () const
 Get the number of elements in the range. More...
 
void swap (_self_type &other)
 Swap content with another range of the same type. More...
 

Additional Inherited Members

- Protected Attributes inherited from efl::eina::_const_range_template< T, Traits >
native_handle_type _handle
 

Detailed Description

template<typename T, typename Traits>
struct efl::eina::_mutable_range_template< T, Traits >

Range implementation for mutable collections.

Member Typedef Documentation

§ value_type

template<typename T , typename Traits >
typedef container_value_type<T>::type efl::eina::_mutable_range_template< T, Traits >::value_type

The type of each element.

§ iterator

template<typename T , typename Traits >
typedef Traits::template iterator<value_type>::type efl::eina::_mutable_range_template< T, Traits >::iterator

Type for a iterator to the range.

§ reverse_iterator

template<typename T , typename Traits >
typedef std::reverse_iterator<iterator> efl::eina::_mutable_range_template< T, Traits >::reverse_iterator

Type for constant reverse iterator to the range.

§ native_handle_type

template<typename T , typename Traits >
typedef Traits::template native_handle<value_type>::type efl::eina::_mutable_range_template< T, Traits >::native_handle_type

Type for the native handle of the container.

§ _base_type

template<typename T , typename Traits >
typedef _const_range_template<T, Traits> efl::eina::_mutable_range_template< T, Traits >::_base_type

Type for the base class.

Member Function Documentation

§ release_native_handle()

template<typename T , typename Traits >
native_handle_type efl::eina::_mutable_range_template< T, Traits >::release_native_handle ( )
inline

Release the handle of the native Eina container.

Returns
Handle for the native Eina container.

§ native_handle()

template<typename T , typename Traits >
native_handle_type efl::eina::_mutable_range_template< T, Traits >::native_handle ( ) const
inline

Get a constant handle for the native Eina container.

Returns
Constant handle for the native Eina container.

§ back()

template<typename T , typename Traits >
reference_type efl::eina::_mutable_range_template< T, Traits >::back ( ) const
inline

Get a reference to the last element.

Returns
Reference to the last element of the range.

References efl::eina::_const_range_template< T, Traits >::native_handle().

§ front()

template<typename T , typename Traits >
reference_type efl::eina::_mutable_range_template< T, Traits >::front ( ) const
inline

Get a reference to the first element.

Returns
Reference to the first element of the range.

References efl::eina::_const_range_template< T, Traits >::native_handle().

§ begin()

template<typename T , typename Traits >
iterator efl::eina::_mutable_range_template< T, Traits >::begin ( ) const
inline

Get an iterator pointing to the first element of the range.

Returns
Iterator to the initial position of the range.

This member function returns an iterator pointing to the first element of the range. If the range contains no elements the returned iterator is the same as the one returned by end() const.

References efl::eina::_const_range_template< T, Traits >::native_handle().

§ end()

template<typename T , typename Traits >
iterator efl::eina::_mutable_range_template< T, Traits >::end ( ) const
inline

Get an iterator to the position following the last element of the range.

Returns
Iterator to the final position of the range.

This member function returns an iterator to the position following the last element in the range. If the range contains no elements the returned iterator is the same as the one returned by begin() const.

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

References efl::eina::_const_range_template< T, Traits >::native_handle().

§ rbegin()

template<typename T , typename Traits >
reverse_iterator efl::eina::_mutable_range_template< T, Traits >::rbegin ( ) const
inline

Get a reverse iterator pointing to the reverse begin of the range.

Returns
Reverse iterator pointing to the reverse begin of the range.

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

References efl::eina::_const_range_template< T, Traits >::native_handle().

§ rend()

template<typename T , typename Traits >
reverse_iterator efl::eina::_mutable_range_template< T, Traits >::rend ( ) const
inline

Get a reverse iterator pointing to the reverse end of the range.

Returns
Reverse iterator pointing to the reverse end of the range.

This member function returns a reverse iterator pointing to the position before the first element of the range. If the range 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::_const_range_template< T, Traits >::native_handle().