views.hpp

template<typename T, typename F, std::enable_if_t<std::is_invocable_v<F, T>, bool> = true>
class gviz::CallbackView

Public Functions

inline CallbackView(AdvanceCallback callback)
inline CallbackView(AdvanceCallback callback, T init)
inline auto begin() & -> CallbackViewIterator<T, F>
inline auto begin() && -> CallbackViewIterator<T, F>
inline auto begin() const & -> CallbackViewIterator<T, F>
inline auto begin() const && -> CallbackViewIterator<T, F>
inline auto end() -> CallbackViewIterator<T, F>

Private Types

using AdvanceCallback = F

Private Members

AdvanceCallback advance
std::optional<T> init
template<typename T, typename F, std::enable_if_t<std::is_invocable_v<F, T>, bool> = true>
class gviz::CallbackViewIterator

Public Types

using AdvanceCallback = F

Public Functions

inline explicit constexpr CallbackViewIterator(AdvanceCallback callback)
inline explicit constexpr CallbackViewIterator(AdvanceCallback callback, std::optional<T> init)
inline constexpr auto has_value() noexcept -> bool
inline constexpr auto next() -> CallbackViewIterator
inline constexpr auto next() const -> CallbackViewIterator
inline constexpr auto operator++() -> CallbackViewIterator
inline constexpr auto operator++(int) -> CallbackViewIterator
inline constexpr auto operator->()
inline constexpr auto operator*() const
inline constexpr auto operator==(const CallbackViewIterator &other)
inline constexpr auto operator!=(const CallbackViewIterator &other)
inline constexpr operator bool() noexcept

Private Members

AdvanceCallback advance_
std::optional<T> current_
template<typename T, typename Iter = decltype(std::begin(std::declval<T&>())), typename Sentinel = decltype(std::end(std::declval<T&>())), bool Const = false>
class gviz::IteratorView

Public Types

using iter_t = std::conditional_t<Const, const Iter, Iter>
using sentinel_t = std::conditional_t<Const, const Sentinel, Sentinel>

Public Functions

inline constexpr IteratorView(iter_t iter_begin, sentinel_t iter_end)
inline constexpr auto begin() -> iter_t
inline constexpr auto end() -> sentinel_t

Private Members

iter_t iter_begin_
sentinel_t iter_end_
namespace gviz
file views.hpp
#include <>
#include <>
#include <>
#include <>
dir /home/cthulhu/projects/repos/libgvizard/include/gvizard
dir /home/cthulhu/projects/repos/libgvizard/include