C++ Logo

std-proposals

Advanced search

Re: [std-proposals] Dummy value protocol

From: Jan Schultke <janschultke_at_[hidden]>
Date: Sat, 7 Jun 2025 13:24:01 +0200
 I don't think it's worth the effort if it cannot work for fundamental
types, and the ABI for std::optional is set in stone. Ideally, we
would be able to say that std::optional<X*> where nullptr stores the
empty value, or std::optional<int> where -1 represents an empty value,
etc.

Those things seem feasible with std::expected with a bit of library
support. We could have something like

> std::expected<int, std::nonvalue<-1>>

Which would use the value "-1" to represent an unexpected object. This
would also not break any existing code since it would use novel types
and a novel protocol, even in the case of fundamental types.

Received on 2025-06-07 11:24:14