Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
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_iterator = Iter
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)
 TransformIterator (const TransformIterator &rhs)=default
 TransformIterator (TransformIterator &&rhs)=default
TransformIteratoroperator= (const TransformIterator &that)
TransformIteratoroperator= (TransformIterator &&that)
template<typename Other>
requires (!std::is_same_v<TransformIterator, Other>) && std::default_initializable<Transform> && std::constructible_from<Iter, typename Other::base_iterator>
 TransformIterator (const Other &other)
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
reference operator* ()
pointer operator-> ()
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:
  • transformiterator.h