efl::eina::_range_template< T, Traits > Struct Template Reference

Public Types | Public Member Functions
efl::eina::_range_template< T, Traits > Struct Template Reference
Eina C++Eina C++ » | Data Types » Content Access » Range

Range class. More...

## Public Types
typedef std::integral_constant< bool, !std::is_const< T >::value > | is_mutable
| Type that specifies if the elements can be modified. More...
typedef nonconst_container_value_type< T >::type | value_type
| The type of each element. More...
typedef std::conditional< is_mutable::value, _mutable_range_template< value_type, Traits >, _const_range_template< value_type, Traits > >::type | _base_type
| Type for the base class. More...
typedef _base_type::native_handle_type | native_handle_type
| Type for the native handle of the container. More...
typedef value_type & | reference
| Type for a reference to an element. More...
typedef value_type const & | const_reference
| Type for a constant reference to an element. More...
typedef value_type * | pointer
| Type for a pointer to an element. More...
typedef value_type const * | const_pointer
| Type for a constant pointer to an element. More...
typedef Traits::template const_iterator< value_type >::type | const_iterator
| Type for constant iterator to the range. More...
typedef _base_type::const_reverse_iterator | const_reverse_iterator
| Type for constant reverse iterator to the range. More...
typedef Traits::template iterator< value_type >::type | iterator
| Type for iterator to the range. More...
typedef _base_type::reverse_iterator | reverse_iterator
| Type for reverse iterator to the range. More...
typedef _base_type::size_type | size_type
| Type for size information. More...
typedef _base_type::difference_type | difference_type
| Type to represent the distance between two iterators. More...

## Public Member Functions
| _range_template ()
| Creates a singular range object.
| _range_template (native_handle_type handle)
| Creates a range object wrapping the given native container handle.

## Detailed Description

### template<typename T, typename Traits>
struct efl::eina::_range_template< T, Traits >

Range class.

Provide objects for accessing and/or modifying elements inside a container without modifying the container itself.

## Member Typedef Documentation

## ◆ is_mutable

template<typename T, typename Traits>

typedef std::integral_constant<bool, !std::is_const<T>::value> efl::eina::_range_template< T, Traits >::is_mutable

Type that specifies if the elements can be modified.

## ◆ value_type

template<typename T, typename Traits>

typedef nonconst_container_value_type<T>::type efl::eina::_range_template< T, Traits >::value_type

The type of each element.

## ◆ _base_type

template<typename T, typename Traits>

typedef std::conditional<is_mutable::value, _mutable_range_template<value_type, Traits> , _const_range_template<value_type, Traits> >::type efl::eina::_range_template< T, Traits >::_base_type

Type for the base class.

## ◆ native_handle_type

template<typename T, typename Traits>

typedef _base_type::native_handle_type efl::eina::_range_template< T, Traits >::native_handle_type

Type for the native handle of the container.

## ◆ reference

template<typename T, typename Traits>

typedef value_type& efl::eina::_range_template< T, Traits >::reference

Type for a reference to an element.

## ◆ const_reference

template<typename T, typename Traits>

typedef value_type const& efl::eina::_range_template< T, Traits >::const_reference

Type for a constant reference to an element.

## ◆ pointer

template<typename T, typename Traits>

typedef value_type* efl::eina::_range_template< T, Traits >::pointer

Type for a pointer to an element.

## ◆ const_pointer

template<typename T, typename Traits>

typedef value_type const* efl::eina::_range_template< T, Traits >::const_pointer

Type for a constant pointer to an element.

## ◆ const_iterator

template<typename T, typename Traits>

typedef Traits::template const_iterator<value_type>::type efl::eina::_range_template< T, Traits >::const_iterator

Type for constant iterator to the range.

## ◆ const_reverse_iterator

template<typename T, typename Traits>

typedef _base_type::const_reverse_iterator efl::eina::_range_template< T, Traits >::const_reverse_iterator

Type for constant reverse iterator to the range.

## ◆ iterator

template<typename T, typename Traits>

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

Type for iterator to the range.

## ◆ reverse_iterator

template<typename T, typename Traits>

typedef _base_type::reverse_iterator efl::eina::_range_template< T, Traits >::reverse_iterator

Type for reverse iterator to the range.

## ◆ size_type

template<typename T, typename Traits>

typedef _base_type::size_type efl::eina::_range_template< T, Traits >::size_type

Type for size information.

## ◆ difference_type

template<typename T, typename Traits>

typedef _base_type::difference_type efl::eina::_range_template< T, Traits >::difference_type

Type to represent the distance between two iterators.