glibmm: Glib::ArrayHandle< T, Tr > Class Template Reference

glibmm 2.54.1

Public Types | Public Member Functions | List of all members
Glib::ArrayHandle< T, Tr > Class Template Reference
Generic container converters

This is an intermediate type. More...

`#include <glibmm/arrayhandle.h>`

## Public Types
using | CppType = typename Tr::CppType
using | CType = typename Tr::CType
using | value_type = CppType
using | size_type = std::size_t
using | difference_type = std::ptrdiff_t
using | const_iterator = Glib::Container_Helpers::ArrayHandleIterator< Tr >
using | iterator = Glib::Container_Helpers::ArrayHandleIterator< Tr >

## Public Member Functions
template<class Cont >
| ArrayHandle (const Cont& container)
| ArrayHandle (const CType* array, std::size_t array_size, Glib::OwnershipType ownership)
| ArrayHandle (const CType* array, Glib::OwnershipType ownership)
| ArrayHandle (const ArrayHandle< T, Tr >& other)
| ~ArrayHandle () noexcept
const_iterator | begin () const
const_iterator | end () const
template<class U >
| operator std::vector< U > () const
template<class U >
| operator std::deque< U > () const
template<class U >
| operator std::list< U > () const
template<class Cont >
void | assign_to (Cont& container) const
template<class Out >
void | copy (Out pdest) const
const CType* | data () const
std::size_t | size () const
bool | empty () const

## Detailed Description

### template<class T, class Tr = Glib::Container_Helpers::TypeTraits<T>>
class Glib::ArrayHandle< T, Tr >

This is an intermediate type.

When a method takes this, or returns this, you should use a standard C++ container of your choice, such as std::list or std::vector.

However, this is not used in new API. We now prefer to just use std::vector, which is less flexibile, but makes the API clearer.

## Member Typedef Documentation

## ◆ const_iterator

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::const_iterator = Glib::Container_Helpers::ArrayHandleIterator<Tr>

## ◆ CppType

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::CppType = typename Tr::CppType

## ◆ CType

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::CType = typename Tr::CType

## ◆ difference_type

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::difference_type = std::ptrdiff_t

## ◆ iterator

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::iterator = Glib::Container_Helpers::ArrayHandleIterator<Tr>

## ◆ size_type

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::size_type = std::size_t

## ◆ value_type

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

using Glib::ArrayHandle< T, Tr >::value_type = CppType

## Constructor & Destructor Documentation

## ◆ ArrayHandle() [1/4]

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>
template <class Cont >

Glib::ArrayHandle< T, Tr >::ArrayHandle | ( | const Cont & | container | ) |
| inline

## ◆ ArrayHandle() [2/4]

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

Glib::ArrayHandle< T, Tr >::ArrayHandle | ( | const CType* | array,
|  | std::size_t | array_size,
|  | Glib::OwnershipType | ownership
| ) |  |
| inline

## ◆ ArrayHandle() [3/4]

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

Glib::ArrayHandle< T, Tr >::ArrayHandle | ( | const CType* | array,
|  | Glib::OwnershipType | ownership
| ) |  |
| inline

## ◆ ArrayHandle() [4/4]

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

Glib::ArrayHandle< T, Tr >::ArrayHandle | ( | const ArrayHandle< T, Tr >& | other | ) |
| inline

## ◆ ~ArrayHandle()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

Glib::ArrayHandle< T, Tr >::~ArrayHandle | ( |  | ) |
| noexcept

## Member Function Documentation

## ◆ assign_to()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>
template <class Cont >

void Glib::ArrayHandle< T, Tr >::assign_to | ( | Cont & | container | ) | const
| inline

## ◆ begin()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

const_iterator Glib::ArrayHandle< T, Tr >::begin | ( |  | ) | const
| inline

## ◆ copy()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>
template <class Out >

void Glib::ArrayHandle< T, Tr >::copy | ( | Out | pdest | ) | const
| inline

## ◆ data()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

const CType* Glib::ArrayHandle< T, Tr >::data | ( |  | ) | const
| inline

## ◆ empty()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

bool Glib::ArrayHandle< T, Tr >::empty | ( |  | ) | const
| inline

## ◆ end()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

const_iterator Glib::ArrayHandle< T, Tr >::end | ( |  | ) | const
| inline

## ◆ operator std::deque< U >()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>
template <class U >

Glib::ArrayHandle< T, Tr >::operator std::deque< U > | ( |  | ) | const
| inline

## ◆ operator std::list< U >()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>
template <class U >

Glib::ArrayHandle< T, Tr >::operator std::list< U > | ( |  | ) | const
| inline

## ◆ operator std::vector< U >()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>
template <class U >

Glib::ArrayHandle< T, Tr >::operator std::vector< U > | ( |  | ) | const
| inline

## ◆ size()

template <class T , class Tr = Glib::Container_Helpers::TypeTraits<T>>

std::size_t Glib::ArrayHandle< T, Tr >::size | ( |  | ) | const
| inline