Inviwo  0.9.10.1
Inviwo documentation
inviwo::util::TransformIterator< Transform, Iter > Struct Template Reference

Public Types

using difference_type = typename std::iterator_traits< Iter >::difference_type
 
using iterator_category = typename std::iterator_traits< Iter >::iterator_category
 
using base_value = typename std::iterator_traits< Iter >::value_type
 
using base_reference = typename std::iterator_traits< Iter >::reference
 
using base_pointer = typename std::iterator_traits< Iter >::pointer
 
using reference = std::invoke_result_t< Transform, base_reference >
 
using value_type = std::remove_reference_t< reference >
 
using pointer = std::add_pointer_t< value_type >
 

Public Member Functions

 TransformIterator (Iter iterator)
 
 TransformIterator (Transform transform, Iter iterator)
 
TransformIteratoroperator++ ()
 
TransformIterator operator++ (int)
 
template<typename I = Iter, typename = detail::require_t<std::bidirectional_iterator_tag, I>>
TransformIteratoroperator-- ()
 
template<typename I = Iter, typename = detail::require_t<std::bidirectional_iterator_tag, I>>
TransformIterator operator-- (int)
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
TransformIteratoroperator+= (difference_type rhs)
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
TransformIteratoroperator-= (difference_type rhs)
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
difference_type operator- (const TransformIterator &rhs) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
TransformIterator operator+ (difference_type i) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
TransformIterator operator- (difference_type i) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
reference operator[] (difference_type i) const
 
reference operator * () const
 
pointer operator-> () const
 
const Iter & base () const
 
Iter & base ()
 
bool operator== (const TransformIterator &rhs) const
 
bool operator!= (const TransformIterator &rhs) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
bool operator> (const TransformIterator &rhs) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
bool operator< (const TransformIterator &rhs) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
bool operator>= (const TransformIterator &rhs) const
 
template<typename I = Iter, typename = detail::require_t<std::random_access_iterator_tag, I>>
bool operator<= (const TransformIterator &rhs) const
 

The documentation for this struct was generated from the following file: