{ "format": 1, "id": "saw-void_t", "kind": "struct", "name": "void_t", "namespace": "saw", "module": "core", "header": "modules/core/c++/common.hpp", "brief_description": "Struct describing a void type.", "detailed_description": [ [ "An empty type standing in for void where a real type is needed. It is what lets", {"name": "error_or", "id": "saw-error_or"}, "< void > hold a variant at all, since a variant cannot have a void alternative." ], [ "The substitution happens in fix_void and is undone by unfix_void, so the stand in stays an implementation detail of the templates rather than something a caller writes. Returning make_void is how a function which succeeded but has nothing to say says so." ] ] }