gstreamermm  1.10.0
Public Member Functions | List of all members
Gst::IteratorBasic< CppType > Class Template Reference

A class used to retrieve multiple elements in a thread safe way. More...

#include <gstreamermm/iterator.h>

Public Member Functions

 IteratorBasic ()
 Default constructor. More...
 
 IteratorBasic (GstIterator* castitem, bool take_ownership=true)
 Creates a Gst::IteratorBasic wrapper for a GstIterator object. More...
 
void begin ()
 Resynchronizes the iterator and moves the iterator to the first item. More...
 
CppType operator* () const
 Dereferences the iterator and obtains the underlying object. More...
 
CppType* operator-> () const
 Accesses underlying object member through the iterator. More...
 
IteratorBasic< CppType >& operator++ ()
 Prefix auto-increment operator. More...
 
IteratorBasic< CppType > operator++ (int)
 Postfix auto-increment operator. More...
 

Detailed Description

template<class CppType>
class Gst::IteratorBasic< CppType >

A class used to retrieve multiple elements in a thread safe way.

Gst::IteratorBasic iterates specifically through elements that are not reference counted. Gst::Iterator is used for iterating through reference counted objects.

Constructor & Destructor Documentation

◆ IteratorBasic() [1/2]

template <class CppType >
Gst::IteratorBasic< CppType >::IteratorBasic ( )

Default constructor.

◆ IteratorBasic() [2/2]

template <class CppType >
Gst::IteratorBasic< CppType >::IteratorBasic ( GstIterator *  castitem,
bool  take_ownership = true 
)
explicit

Creates a Gst::IteratorBasic wrapper for a GstIterator object.

The underlying castitem will be freed with the Gst::IteratorBasic destruction if a take_ownership value of true is given.

Parameters
castitemThe C instance to wrap.
take_ownershipWhether to take over the underlying C object. If true, C object is freed when wrapper is destroyed.

Member Function Documentation

◆ begin()

template <class CppType >
void Gst::IteratorBasic< CppType >::begin ( )

Resynchronizes the iterator and moves the iterator to the first item.

Exceptions
std::runtime_error(if a Gst::ITERATOR_ERROR is encountered or if a concurrent update to the iterator occurs while it is advanced to the first element).

◆ operator*()

template <class CppType >
CppType Gst::IteratorBasic< CppType >::operator* ( ) const

Dereferences the iterator and obtains the underlying object.

◆ operator++() [1/2]

template <class CppType >
IteratorBasic<CppType>& Gst::IteratorBasic< CppType >::operator++ ( )

Prefix auto-increment operator.

It advances to the next item in the iterator. It is faster than the postfix operator.

Exceptions
std::runtime_error(if a Gst::ITERATOR_ERROR is encountered or if a concurrent update to the iterator occurs while it iterates).

◆ operator++() [2/2]

template <class CppType >
IteratorBasic<CppType> Gst::IteratorBasic< CppType >::operator++ ( int  )

Postfix auto-increment operator.

It advances to the next item in the iterator.

Exceptions
std::runtime_error(if a Gst::ITERATOR_ERROR is encountered or if a concurrent update to the iterator occurs while it iterates).

◆ operator->()

template <class CppType >
CppType* Gst::IteratorBasic< CppType >::operator-> ( ) const

Accesses underlying object member through the iterator.