16 requires(
requires {
typename T::Mixin; })
23 concept Tag =
requires {
typename T::Type; };
29 requires(
requires {
typename T::SSizeType; })
39 requires(T::format_as_pointer)
43template<detail::Tag Tag>
124 return a.raw_value() <=> b.raw_value();
127 template<concepts::Encoding Enc>
134 auto* pointer =
reinterpret_cast<void*
>(self.raw_value());
135 return formatter(context, pointer);
137 return formatter(context, self.raw_value());
Definition format_parse_context.h:14
Definition strong_int.h:44
constexpr auto operator++() -> StrongInt &
Definition strong_int.h:73
constexpr auto operator--() -> StrongInt &
Definition strong_int.h:83
constexpr friend auto operator+(StrongInt a, SSizeType b) -> StrongInt requires(!concepts::SameAs< SSizeType, Type >)
Definition strong_int.h:95
constexpr friend auto operator==(StrongInt a, StrongInt b) -> bool
Definition strong_int.h:122
constexpr auto operator-=(Type x) -> StrongInt &
Definition strong_int.h:64
constexpr friend auto operator-(StrongInt a, Type b) -> StrongInt
Definition strong_int.h:107
Tag::Type Type
Definition strong_int.h:46
constexpr friend auto operator-(StrongInt a, SSizeType b) -> StrongInt requires(!concepts::SameAs< SSizeType, Type >)
Definition strong_int.h:108
constexpr auto operator+=(Type x) -> StrongInt &
Definition strong_int.h:55
constexpr friend auto tag_invoke(types::Tag< format::formatter_in_place >, InPlaceType< StrongInt >, FormatParseContext< Enc > &parse_context, bool debug)
Definition strong_int.h:128
detail::SSizeType< Tag > SSizeType
Definition strong_int.h:47
constexpr auto raw_value() const -> Type
Definition strong_int.h:53
constexpr auto operator-=(SSizeType x) -> StrongInt &requires(!concepts::SameAs< SSizeType, Type >)
Definition strong_int.h:68
constexpr auto operator+=(SSizeType x) -> StrongInt &requires(!concepts::SameAs< SSizeType, Type >)
Definition strong_int.h:59
constexpr auto operator--(int) -> StrongInt
Definition strong_int.h:87
constexpr StrongInt(Type value)
Definition strong_int.h:51
constexpr friend auto operator<=>(StrongInt a, StrongInt b) -> di::strong_ordering
Definition strong_int.h:123
constexpr friend auto operator+(SSizeType a, StrongInt b) -> StrongInt requires(!concepts::SameAs< SSizeType, Type >)
Definition strong_int.h:101
constexpr auto operator++(int) -> StrongInt
Definition strong_int.h:77
constexpr friend auto operator+(Type a, StrongInt b) -> StrongInt
Definition strong_int.h:100
constexpr friend auto operator-(Type a, StrongInt b) -> StrongInt
Definition strong_int.h:113
constexpr friend auto operator-(StrongInt a, StrongInt b) -> SSizeType
Definition strong_int.h:120
constexpr friend auto operator+(StrongInt a, Type b) -> StrongInt
Definition strong_int.h:94
constexpr friend auto operator-(SSizeType a, StrongInt b) -> StrongInt requires(!concepts::SameAs< SSizeType, Type >)
Definition strong_int.h:114
Definition operations.h:34
Definition format_context.h:9
Definition strong_int.h:23
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr bool format_as_pointer
Definition strong_int.h:36
meta::Type< MixinHelper< T > > Mixin
Definition strong_int.h:20
meta::Type< SSizeTypeHelper< T > > SSizeType
Definition strong_int.h:33
Definition zstring_parser.h:9
constexpr auto copy
Definition copy.h:30
Definition in_place_type.h:5
Definition strong_int.h:13
Definition strong_int.h:10
Definition strong_int.h:26