openMSX
Classes | Namespaces | Functions
view.hh File Reference
#include "semiregular.hh"
#include <algorithm>
#include <cassert>
#include <functional>
#include <iterator>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for view.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  view::detail::Drop< Range >
 
class  view::detail::DropBack< Range >
 
class  view::detail::Reverse< Range >
 
class  view::detail::TransformIterator< Iterator, UnaryOp >
 
class  view::detail::Transform< Range, UnaryOp >
 
class  view::detail::FilteredIterator< Iterator, Sentinel, Predicate >
 
class  view::detail::Filter< Range, Predicate >
 
class  view::detail::TakeIterator< Iterator, Sentinel >
 
class  view::detail::Take< Range >
 

Namespaces

namespace  view
 
namespace  view::detail
 

Functions

template<typename Iterator >
constexpr Iterator view::detail::safe_next (Iterator first, Iterator last, size_t n, std::input_iterator_tag)
 
template<typename Iterator >
constexpr Iterator view::detail::safe_next (Iterator first, Iterator last, size_t n, std::random_access_iterator_tag)
 
template<typename Iterator >
constexpr Iterator view::detail::safe_prev (Iterator first, Iterator last, size_t n, std::bidirectional_iterator_tag)
 
template<typename Iterator >
constexpr Iterator view::detail::safe_prev (Iterator first, Iterator last, size_t n, std::random_access_iterator_tag)
 
template<typename Range >
constexpr auto view::drop (Range &&range, size_t n)
 
template<typename Range >
constexpr auto view::drop_back (Range &&range, size_t n)
 
template<typename Range >
constexpr auto view::reverse (Range &&range)
 
template<typename Range , typename UnaryOp >
constexpr auto view::transform (Range &&range, UnaryOp op)
 
template<typename Map >
constexpr auto view::keys (Map &&map)
 
template<typename Map >
constexpr auto view::values (Map &&map)
 
template<typename ForwardRange , typename Predicate >
auto view::filter (ForwardRange &&range, Predicate pred)
 
template<typename ForwardRange >
constexpr auto view::take (ForwardRange &&range, size_t n)