summaryrefslogtreecommitdiff
path: root/docs/data/core/void_t.json
blob: c21bc20c5db8a919918f96d1b31b7ba40f3c10fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
	"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."
		]
	]
}