30#ifndef _GLIBCXX_MONOSTATE_H
31#define _GLIBCXX_MONOSTATE_H 1
35#ifdef __glibcxx_variant
38#if __cplusplus >= 202002L
42namespace std _GLIBCXX_VISIBILITY(default)
44_GLIBCXX_BEGIN_NAMESPACE_VERSION
47 constexpr bool operator==(monostate, monostate)
noexcept {
return true; }
48#ifdef __cpp_lib_three_way_comparison
49 constexpr strong_ordering
50 operator<=>(monostate, monostate)
noexcept {
return strong_ordering::equal; }
52 constexpr bool operator!=(monostate, monostate)
noexcept {
return false; }
53 constexpr bool operator<(monostate, monostate)
noexcept {
return false; }
54 constexpr bool operator>(monostate, monostate)
noexcept {
return false; }
55 constexpr bool operator<=(monostate, monostate)
noexcept {
return true; }
56 constexpr bool operator>=(monostate, monostate)
noexcept {
return true; }
60 struct hash<monostate>
62#if __cplusplus < 202002L
63 using result_type [[__deprecated__]] = size_t;
64 using argument_type [[__deprecated__]] = monostate;
68 operator()(
const monostate&)
const noexcept
70 constexpr size_t __magic_monostate_hash = -7777;
71 return __magic_monostate_hash;
75_GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.
Primary class template hash.