Audio Processing Framework (APF) version 0.5.0
Classes | Functions
Iterators

TODO: overview of iterators? More...

Classes

class  apf::accumulating_iterator< I >
 An output iterator which adds on assignment. More...
 
class  apf::cast_iterator< T, I >
 Iterator that casts items to T* on dereferenciation. More...
 
class  apf::circular_iterator< I >
 Circular iterator class. More...
 
class  apf::transform_iterator< I, F >
 Iterator adaptor with a function call at dereferenciation. More...
 
class  apf::index_iterator< T >
 Iterator with a built-in number. More...
 
class  apf::stride_iterator< I >
 A stride iterator. More...
 
class  apf::dual_iterator< I1, I2 >
 Iterate over two iterators at once. More...
 
class  apf::discard_iterator
 An iterator which does nothing. More...
 

Functions

template<typename I >
accumulating_iterator< I > apf::make_accumulating_iterator (I base_iterator)
 Helper function to create an accumulating_iterator. More...
 
template<typename T , typename I >
cast_iterator< T, I > apf::make_cast_iterator (I base_iterator)
 Helper function to create a cast_iterator. More...
 
template<typename I >
circular_iterator< I > apf::make_circular_iterator (I begin, I end)
 Helper function to create a circular_iterator. More...
 
template<typename I >
circular_iterator< I > apf::make_circular_iterator (I begin, I end, I current)
 Helper function to create a circular_iterator. More...
 
template<typename I , typename F >
transform_iterator< I, F > apf::make_transform_iterator (I base_iterator, F f)
 Helper function to create a transform_iterator. More...
 
template<typename T >
index_iterator< T > apf::make_index_iterator (T start)
 Helper function to create an index_iterator. More...
 
template<typename I1 , typename I2 >
dual_iterator< I1, I2 > apf::make_dual_iterator (I1 i1, I2 i2)
 Helper function to create an dual_iterator. More...
 

Detailed Description

TODO: overview of iterators?

See also
Iterator macros

Function Documentation

◆ make_accumulating_iterator()

template<typename I >
accumulating_iterator< I > apf::make_accumulating_iterator ( base_iterator)

Helper function to create an accumulating_iterator.

The template parameter is optional because it can be inferred from the parameter base_iterator. Example:

accumulating_iterator< I > make_accumulating_iterator(I base_iterator)
Helper function to create an accumulating_iterator.
Definition: iterator.h:505
Parameters
base_iteratorthe base iterator
Returns
an accumulating_iterator

Definition at line 505 of file iterator.h.

◆ make_cast_iterator()

template<typename T , typename I >
cast_iterator< T, I > apf::make_cast_iterator ( base_iterator)

Helper function to create a cast_iterator.

The second template parameter is optional because it can be inferred from the parameter base_iterator. Example:

make_cast_iterator<my_target_type>(some_iterator)
Parameters
base_iteratorthe base iterator
Returns
a cast_iterator

Definition at line 606 of file iterator.h.

◆ make_circular_iterator() [1/2]

template<typename I >
circular_iterator< I > apf::make_circular_iterator ( begin,
end 
)

Helper function to create a circular_iterator.

The template parameter is optional because it can be inferred from the parameter(s). Example:

make_circular_iterator(some_begin, some_end)
circular_iterator< I > make_circular_iterator(I begin, I end)
Helper function to create a circular_iterator.
Definition: iterator.h:840
Parameters
some_beginthe first iterator
some_endpast-the-end iterator
Returns
a circular_iterator

Definition at line 840 of file iterator.h.

◆ make_circular_iterator() [2/2]

template<typename I >
circular_iterator< I > apf::make_circular_iterator ( begin,
end,
current 
)

Helper function to create a circular_iterator.

The template parameter is optional because it can be inferred from the parameter(s). Example:

make_circular_iterator(some_begin, some_end, some_current)
Parameters
some_beginthe first iterator
some_endpast-the-end iterator
some_currentcurrent iterator
Returns
a circular_iterator

Definition at line 857 of file iterator.h.

◆ make_transform_iterator()

template<typename I , typename F >
transform_iterator< I, F > apf::make_transform_iterator ( base_iterator,
f 
)

Helper function to create a transform_iterator.

The template parameters are optional because they can be inferred from the parameters base_iterator and f. Example:

make_transform_iterator(some_iterator, some_function)
transform_iterator< I, F > make_transform_iterator(I base_iterator, F f)
Helper function to create a transform_iterator.
Definition: iterator.h:944
Parameters
base_iteratorthe base iterator
fthe function (normally a function object)
Returns
a transform_iterator

Definition at line 944 of file iterator.h.

◆ make_index_iterator()

template<typename T >
index_iterator< T > apf::make_index_iterator ( start)

Helper function to create an index_iterator.

The template parameter is optional because it can be inferred from the parameter start. Example:

index_iterator< T > make_index_iterator(T start)
Helper function to create an index_iterator.
Definition: iterator.h:1034
Parameters
startthe start index
Returns
an index_iterator

Definition at line 1034 of file iterator.h.

◆ make_dual_iterator()

template<typename I1 , typename I2 >
dual_iterator< I1, I2 > apf::make_dual_iterator ( I1  i1,
I2  i2 
)

Helper function to create an dual_iterator.

The template parameters are optional because they can be inferred from the parameters i1 and i2. Example:

apf::make_dual_iterator(some_iterator, some_other_iterator)
dual_iterator< I1, I2 > make_dual_iterator(I1 i1, I2 i2)
Helper function to create an dual_iterator.
Definition: iterator.h:1334
Parameters
i1one base iterator
i2another base iterator
Returns
a dual_iterator

Definition at line 1334 of file iterator.h.