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

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 CTypedata () 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