1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
{
"format": 1,
"id": "saw-i_data_server",
"kind": "class",
"name": "i_data_server",
"namespace": "saw",
"module": "remote",
"header": "modules/remote/c++/transfer.hpp",
"brief_description": "Registry handle for a data server of unknown schema.",
"detailed_description": [
[
"The one place the library erases a type. A",
{"name": "remote", "id": "saw-remote"},
"holds servers for many schemas in one map, which is only possible if they share a type. The class id recovers what was erased: a caller which knows the schema it wants asks for exactly that one and gets an error if the stored server is a different one."
],
[
"The destructor is protected, so nothing can be deleted through this handle."
]
],
"templates": [
{
"name": "Remote",
"kind": "type",
"brief_description": "Tag type of the backend."
}
],
"functions": {
"saw-i_data_server-get_class_id": {
"id": "saw-i_data_server-get_class_id",
"name": "get_class_id",
"type": ["std::pair< uint32_t, uint32_t >"],
"const": true,
"virtual": true,
"brief_description": "Schema hash and encoding hash of the server behind this handle."
},
"saw-i_data_server-cast_to": {
"id": "saw-i_data_server-cast_to",
"name": "cast_to",
"type": ["error_or< ptr< To > >"],
"brief_description": "Recovers the concrete server.",
"detailed_description": [
["Fails with invalid_state if the class ids don't match, which is what keeps the erasure honest."]
],
"templates": [
{
"name": "To",
"kind": "type",
"brief_description": "The concrete data server expected behind this handle."
}
]
}
}
}
|