utils.hpp

template<typename T, typename U>
struct gviz::utils::Converter

Public Static Functions

static inline constexpr T convert(const U &obj)
static inline constexpr T convert(U &&obj)
template<typename T, typename U = std::underlying_type_t<T>, std::enable_if_t<std::is_enum_v<T>, bool> = true>
struct gviz::utils::EnumHelper

Public Static Functions

static inline constexpr auto to_str(const T &value) -> const std::string_view
static inline constexpr auto from_value(const U &value) -> std::optional<T>
static inline constexpr auto from_index(std::size_t index) -> std::optional<T>
static inline constexpr auto from_str(const char *str) -> std::optional<T>
static inline constexpr auto from_str(const std::string_view str) -> std::optional<T>
static inline auto from_str(const std::string &str) -> std::optional<T>
static inline constexpr std::size_t size()
template<typename ...Ts>
struct LambdaVisitor : public gviz::utils::Ts
template<typename T>
class gviz::utils::OptionalRef

Public Types

using value_type = std::remove_reference_t<T>
using reference_type = value_type&
using const_reference_type = const value_type&
using pointer_type = value_type*
using const_pointer_type = const value_type*

Public Functions

inline OptionalRef()
inline OptionalRef(reference_type ref)
inline OptionalRef(pointer_type ptr)
inline constexpr bool has_value() const noexcept
inline constexpr auto &value() noexcept
inline constexpr const auto &value() const noexcept
inline constexpr auto &value_or(T &other) noexcept
inline constexpr const auto &value_or(const T &other) const noexcept
inline constexpr reference_type operator*() noexcept
inline constexpr const_reference_type operator*() const noexcept
inline constexpr pointer_type operator->() noexcept
inline constexpr const_pointer_type operator->() const noexcept
inline constexpr bool operator==(const OptionalRef other) const noexcept
inline constexpr bool operator!=(const OptionalRef other) const noexcept
inline constexpr operator bool() const noexcept

Private Members

T *ptr_ = {nullptr}
namespace gviz
namespace gviz::utils

Typedefs

template<typename T>
using Ref = std::shared_ptr<T>

Functions

template<typename ...Ts>
LambdaVisitor(Ts...) -> LambdaVisitor<Ts...>
template<typename T, typename ...Fs>
constexpr auto LambdaVisit(const T &arg, Fs&&... fs)

Variables

constexpr auto nulloptref = nullptr
file utils.hpp
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
dir /home/cthulhu/projects/repos/libgvizard/include/gvizard
dir /home/cthulhu/projects/repos/libgvizard/include