5#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_MONOSTATE_MONOSTATE_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_MONOSTATE_MONOSTATE_HPP_
13#include "arene/base/compiler_support/attributes.hpp"
14#include "arene/base/stdlib_choice/cstddef.hpp"
15#include "arene/base/stdlib_choice/hash.hpp"
16#include "arene/base/stdlib_choice/is_void.hpp"
17#include "arene/base/type_manipulation/static_if.hpp"
18#include "arene/base/type_traits/give_cv_to.hpp"
72struct hash<arene::base::monostate> {
74 using result_type = std::size_t;
81 constexpr std::size_t monostate_hash{0xEF0B0666};
82 return monostate_hash;
Definition array_exceptions_disabled.cpp:11
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10
A monostate type that is a well-behaved empty value for variants.
Definition monostate.hpp:28
ARENE_NODISCARD friend constexpr auto operator==(monostate, monostate) noexcept -> bool
All monostates are equal.
Definition monostate.hpp:32
ARENE_NODISCARD friend constexpr auto operator<(monostate, monostate) noexcept -> bool
A monostate is never less than another monostate.
Definition monostate.hpp:40
ARENE_NODISCARD friend constexpr auto operator!=(monostate, monostate) noexcept -> bool
All monostates are not not equal.
Definition monostate.hpp:36
ARENE_NODISCARD friend constexpr auto operator<=(monostate, monostate) noexcept -> bool
A monostate is always less-equal than another monostate as all are equal.
Definition monostate.hpp:44
ARENE_NODISCARD friend constexpr auto operator>=(monostate, monostate) noexcept -> bool
A monostate is always greater-equal than another monostate as all are equal.
Definition monostate.hpp:52
ARENE_NODISCARD friend constexpr auto operator>(monostate, monostate) noexcept -> bool
A monostate is never greater than another monostate.
Definition monostate.hpp:48
constexpr auto operator()(arene::base::monostate const &) const noexcept -> std::size_t
Compute the hash of a monostate instance.
Definition monostate.hpp:80
constexpr auto operator()(::arene::base::result< void, E > const &value) const noexcept(noexcept(hash< E >{}(std::declval< E const & >()))) -> std::size_t
Calculate the hash of a result.
Definition result.hpp:1827