1 #pragma once 2 3 namespace rc { 4 5 /// Tag struct that can be used to construct different types to an uninitialized 6 /// or empty state. 7 struct NothingType { 8 /// Explicit conversion to false. 9 explicit operator bool() const { return false; } 10 }; 11 12 /// Singleton NothingType value. 13 constexpr NothingType Nothing = NothingType(); 14 15 } // namespace rc 16