HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions | Friends
tt::nested_vector_iterator< ParentCIt, ParentIt, ChildIt > Class Template Reference

#include <TTauri/Foundation/nested_vector_iterator.hpp>

Public Member Functions

 nested_vector_iterator (nested_vector_iterator const &other) noexcept=default
 
 nested_vector_iterator (nested_vector_iterator &&other) noexcept=default
 
nested_vector_iteratoroperator= (nested_vector_iterator const &other) noexcept=default
 
nested_vector_iteratoroperator= (nested_vector_iterator &&other) noexcept=default
 
 nested_vector_iterator (ParentCIt parent_it_end, ParentIt parent_it, ChildIt child_it) noexcept
 
 nested_vector_iterator (ParentCIt parent_it_end, ParentIt parent_it) noexcept
 
ParentIt parent () const noexcept
 Get the current parent iterator.
 
bool at_end () const noexcept
 Don't need to check the child_it at end.
 
template<typename X = std::remove_reference_t<reference>, std::enable_if_t<!std::is_const_v< X >, int > = 0>
value_type & operator* () noexcept
 
value_type const & operator* () const noexcept
 
template<typename X = std::remove_reference_t<reference>, std::enable_if_t<!std::is_const_v< X >, int > = 0>
value_type * operator-> () noexcept
 
value_type const * operator-> () const noexcept
 
template<typename X = std::remove_reference_t<reference>, std::enable_if_t<!std::is_const_v< X >, int > = 0>
value_type & operator[] (size_t i) noexcept
 
value_type const & operator[] (size_t i) const noexcept
 
nested_vector_iteratoroperator++ () noexcept
 
nested_vector_iteratoroperator-- () noexcept
 
nested_vector_iterator operator++ (int) noexcept
 
nested_vector_iterator operator-- (int) noexcept
 
nested_vector_iteratoroperator+= (difference_type rhs) noexcept
 
nested_vector_iteratoroperator-= (difference_type rhs) noexcept
 

Friends

bool operator== (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 
bool operator< (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 
bool operator!= (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 
bool operator> (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 
bool operator<= (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 
bool operator>= (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 
nested_vector_iterator operator+ (nested_vector_iterator lhs, difference_type rhs) noexcept
 
nested_vector_iterator operator- (nested_vector_iterator lhs, difference_type rhs) noexcept
 
nested_vector_iterator operator+ (difference_type lhs, nested_vector_iterator rhs) noexcept
 
difference_type operator- (nested_vector_iterator const &lhs, nested_vector_iterator const &rhs) noexcept
 

Detailed Description

template<typename ParentCIt, typename ParentIt, typename ChildIt = std::conditional_t< std::is_const_v<std::remove_reference_t<typename std::iterator_traits<ParentIt>::reference>>, typename ParentIt::value_type::const_iterator, typename ParentIt::value_type::iterator >>
class tt::nested_vector_iterator< ParentCIt, ParentIt, ChildIt >

An iterator for a vector inside another vector.

Member Function Documentation

◆ at_end()

template<typename ParentCIt , typename ParentIt , typename ChildIt = std::conditional_t< std::is_const_v<std::remove_reference_t<typename std::iterator_traits<ParentIt>::reference>>, typename ParentIt::value_type::const_iterator, typename ParentIt::value_type::iterator >>
bool tt::nested_vector_iterator< ParentCIt, ParentIt, ChildIt >::at_end ( ) const
inlinenoexcept

Don't need to check the child_it at end.

◆ parent()

template<typename ParentCIt , typename ParentIt , typename ChildIt = std::conditional_t< std::is_const_v<std::remove_reference_t<typename std::iterator_traits<ParentIt>::reference>>, typename ParentIt::value_type::const_iterator, typename ParentIt::value_type::iterator >>
ParentIt tt::nested_vector_iterator< ParentCIt, ParentIt, ChildIt >::parent ( ) const
inlinenoexcept

Get the current parent iterator.


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