Concept Subspace :: sus :: mem :: NeverValueField

template <class T>
concept NeverValueField
requires
__private::NeverValueChecker<T>::has_field

A NeverValueField type has a field with a never-value.

Under normal use, that field in a NeverValueField object will never be set to the never-value, which allows inspecting it to determine if the object is "constructed".

Such types allow separate abnormal construction through the NeverValueField machinery, where the never-value field is set to its never-value. The object will not be used in that state except for calling the destructor, and the field will be set to a special destroy-value before the destructor is called.