openMSX
Classes | Functions
view::detail Namespace Reference

Classes

class  Drop
 
class  DropBack
 
class  Filter
 
class  FilteredIterator
 
class  Reverse
 
class  Take
 
class  TakeIterator
 
class  Transform
 
class  TransformIterator
 
class  Zip
 

Functions

template<typename Iterator >
constexpr Iterator safe_next (Iterator first, Iterator last, size_t n, std::input_iterator_tag)
 
template<typename Iterator >
constexpr Iterator safe_next (Iterator first, Iterator last, size_t n, std::random_access_iterator_tag)
 
template<typename Iterator >
constexpr Iterator safe_prev (Iterator first, Iterator last, size_t n, std::bidirectional_iterator_tag)
 
template<typename Iterator >
constexpr Iterator safe_prev (Iterator first, Iterator last, size_t n, std::random_access_iterator_tag)
 
template<typename... Ts>
std::tuple< decltype(std::begin(std::declval< Ts >()))... > iterators_tuple_helper (const std::tuple< Ts... > &)
 
template<typename... Ts>
std::tuple< decltype(*std::begin(std::declval< Ts >()))... > iterators_deref_tuple_helper (const std::tuple< Ts... > &)
 
template<typename RangesTuple , size_t ... Is>
Zip< true, RangesTuple, Is... > zip (RangesTuple &&ranges, std::index_sequence< Is... >)
 
template<typename RangesTuple , size_t ... Is>
Zip< false, RangesTuple, Is... > zip_equal (RangesTuple &&ranges, std::index_sequence< Is... >)
 

Function Documentation

◆ iterators_deref_tuple_helper()

template<typename... Ts>
std::tuple< decltype(*std::begin(std::declval< Ts >()))... > view::detail::iterators_deref_tuple_helper ( const std::tuple< Ts... > &  )

◆ iterators_tuple_helper()

template<typename... Ts>
std::tuple< decltype(std::begin(std::declval< Ts >()))... > view::detail::iterators_tuple_helper ( const std::tuple< Ts... > &  )

◆ safe_next() [1/2]

template<typename Iterator >
constexpr Iterator view::detail::safe_next ( Iterator  first,
Iterator  last,
size_t  n,
std::input_iterator_tag   
)
constexpr

Definition at line 19 of file view.hh.

Referenced by view::detail::Drop< Range >::begin().

◆ safe_next() [2/2]

template<typename Iterator >
constexpr Iterator view::detail::safe_next ( Iterator  first,
Iterator  last,
size_t  n,
std::random_access_iterator_tag   
)
constexpr

Definition at line 26 of file view.hh.

◆ safe_prev() [1/2]

template<typename Iterator >
constexpr Iterator view::detail::safe_prev ( Iterator  first,
Iterator  last,
size_t  n,
std::bidirectional_iterator_tag   
)
constexpr

Definition at line 32 of file view.hh.

Referenced by view::detail::DropBack< Range >::end().

◆ safe_prev() [2/2]

template<typename Iterator >
constexpr Iterator view::detail::safe_prev ( Iterator  first,
Iterator  last,
size_t  n,
std::random_access_iterator_tag   
)
constexpr

Definition at line 39 of file view.hh.

◆ zip()

template<typename RangesTuple , size_t ... Is>
Zip< true, RangesTuple, Is... > view::detail::zip ( RangesTuple &&  ranges,
std::index_sequence< Is... >   
)

Definition at line 487 of file view.hh.

Referenced by view::zip().

◆ zip_equal()

template<typename RangesTuple , size_t ... Is>
Zip< false, RangesTuple, Is... > view::detail::zip_equal ( RangesTuple &&  ranges,
std::index_sequence< Is... >   
)

Definition at line 492 of file view.hh.

Referenced by view::zip_equal().