0.5.4
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
src
config
schema.h
Go to the documentation of this file.
1
/**
2
* @file src/config/schema.h
3
*
4
* Copyright (c) 2021-2024 Bartek Kryza <bkryza@gmail.com>
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
#pragma once
19
20
#include <string>
21
22
namespace
clanguml::config
{
23
24
const
std::string
schema_str
= R
"(
25
types:
26
map_t<K;V>: { $K: V }
27
comment_parser_t: !variant
28
- plain
29
- clang
30
diagram_type_t: !variant
31
- class
32
- sequence
33
- include
34
- package
35
generate_method_arguments_t: !variant
36
- full
37
- abbreviated
38
- none
39
generate_links_t:
40
link: !optional [string, map_t<string;string>]
41
tooltip: !optional [string, map_t<string;string>]
42
git_t:
43
branch: string
44
revision: [string, int]
45
commit: string
46
toplevel: string
47
layout_hint_key: !variant
48
- up
49
- left
50
- right
51
- down
52
- row
53
- column
54
- together
55
layout_hint_value: [string, [string]]
56
layout_hint_t: [map_t<layout_hint_key;layout_hint_value>]
57
layout_t: map_t<string;layout_hint_t>
58
package_type_t: !variant
59
- namespace
60
- directory
61
- module
62
member_order_t: !variant
63
- lexical
64
- as_is
65
regex_t:
66
r: string
67
regex_or_string_t: [string, regex_t]
68
element_types_filter_t: !variant
69
- class
70
- enum
71
- concept
72
- method
73
- function
74
- function_template
75
- lambda
76
relationship_filter_t: !variant
77
- extension
78
- inheritance
79
- composition
80
- aggregation
81
- containment
82
- ownership
83
- association
84
- instantiation
85
- friendship
86
- alias
87
- dependency
88
- constraint
89
- none
90
relationship_context_t: !variant
91
- extension
92
- inheritance
93
- composition
94
- aggregation
95
- containment
96
- ownership
97
- association
98
- instantiation
99
- friendship
100
- dependency
101
- constraint
102
access_filter_t: !variant
103
- public
104
- protected
105
- private
106
module_access_filter_t: !variant
107
- public
108
- private
109
method_type_filter_t: !variant
110
- constructor
111
- destructor
112
- assignment
113
- operator
114
- defaulted
115
- deleted
116
- static
117
callee_type_filter_t: !variant
118
- constructor
119
- assignment
120
- operator
121
- defaulted
122
- static
123
- method
124
- function
125
- function_template
126
- lambda
127
- cuda_kernel
128
- cuda_device
129
direction_t: !variant
130
- inward
131
- outward
132
- any
133
context_filter_match_t:
134
match:
135
radius: int
136
pattern: regex_or_string_t
137
direction: !optional direction_t
138
relationships: !optional [relationship_context_t]
139
context_filter_t:
140
- regex_or_string_t
141
- context_filter_match_t
142
filter_t:
143
namespaces: !optional [regex_or_string_t]
144
modules: !optional [regex_or_string_t]
145
elements: !optional [regex_or_string_t]
146
element_types: !optional [element_types_filter_t]
147
relationships: !optional [relationship_filter_t]
148
access: !optional [access_filter_t]
149
module_access: !optional [module_access_filter_t]
150
subclasses: !optional [regex_or_string_t]
151
parents: !optional [regex_or_string_t]
152
specializations: !optional [regex_or_string_t]
153
dependants: !optional [regex_or_string_t]
154
dependencies: !optional [regex_or_string_t]
155
context: !optional [context_filter_t]
156
paths: !optional [string]
157
method_types: !optional [method_type_filter_t]
158
callee_types: !optional [callee_type_filter_t]
159
anyof: !optional filter_t
160
allof: !optional filter_t
161
function_location_t:
162
function: string
163
marker_location_t:
164
marker: string
165
source_location_t:
166
- function_location_t
167
- marker_location_t
168
filter_mode_t: !variant
169
- basic
170
- advanced
171
class_diagram_t:
172
type: !variant [class]
173
#
174
# Common options
175
#
176
__parent_path: !optional string
177
comment_parser: !optional comment_parser_t
178
debug_mode: !optional bool
179
filter_mode: !optional filter_mode_t
180
include_system_headers: !optional bool
181
exclude: !optional filter_t
182
generate_links: !optional generate_links_t
183
git: !optional git_t
184
glob: !optional [regex_or_string_t]
185
include: !optional filter_t
186
plantuml: !optional
187
before: !optional [string]
188
after: !optional [string]
189
cmd: !optional string
190
style: !optional map_t<string;string>
191
mermaid: !optional
192
before: !optional [string]
193
after: !optional [string]
194
cmd: !optional string
195
relative_to: !optional string
196
using_namespace: !optional [string, [string]]
197
using_module: !optional string
198
generate_metadata: !optional bool
199
title: !optional string
200
#
201
# Class diagram specific options
202
#
203
generate_method_arguments: !optional generate_method_arguments_t
204
generate_packages: !optional bool
205
generate_concept_requirements: !optional bool
206
package_type: !optional package_type_t
207
generate_template_argument_dependencies: !optional bool
208
skip_redundant_dependencies: !optional bool
209
member_order: !optional member_order_t
210
group_methods: !optional bool
211
type_aliases: !optional map_t<string;string>
212
relationship_hints: !optional map_t<string;any>
213
include_relations_also_as_members: !optional bool
214
layout: !optional layout_t
215
sequence_diagram_t:
216
type: !variant [sequence]
217
#
218
# Common options
219
#
220
__parent_path: !optional string
221
comment_parser: !optional comment_parser_t
222
debug_mode: !optional bool
223
exclude: !optional filter_t
224
generate_links: !optional generate_links_t
225
filter_mode: !optional filter_mode_t
226
include_system_headers: !optional bool
227
git: !optional git_t
228
glob: !optional [regex_or_string_t]
229
include: !optional filter_t
230
plantuml: !optional
231
before: !optional [string]
232
after: !optional [string]
233
cmd: !optional string
234
mermaid: !optional
235
before: !optional [string]
236
after: !optional [string]
237
cmd: !optional string
238
relative_to: !optional string
239
type_aliases: !optional map_t<string;string>
240
using_namespace: !optional [string, [string]]
241
generate_metadata: !optional bool
242
title: !optional string
243
#
244
# Sequence diagram specific options
245
#
246
generate_method_arguments: !optional generate_method_arguments_t
247
combine_free_functions_into_file_participants: !optional bool
248
inline_lambda_messages: !optional bool
249
generate_return_types: !optional bool
250
generate_condition_statements: !optional bool
251
generate_message_comments: !optional bool
252
message_comment_width: !optional int
253
participants_order: !optional [string]
254
start_from: !optional [source_location_t] # deprecated -> 'from'
255
from: !optional [source_location_t]
256
from_to: !optional [[source_location_t]]
257
to: !optional [source_location_t]
258
package_diagram_t:
259
type: !variant [package]
260
#
261
# Common options
262
#
263
__parent_path: !optional string
264
comment_parser: !optional comment_parser_t
265
debug_mode: !optional bool
266
exclude: !optional filter_t
267
generate_links: !optional generate_links_t
268
git: !optional git_t
269
glob: !optional [regex_or_string_t]
270
filter_mode: !optional filter_mode_t
271
include_system_headers: !optional bool
272
include: !optional filter_t
273
plantuml: !optional
274
before: !optional [string]
275
after: !optional [string]
276
cmd: !optional string
277
mermaid: !optional
278
before: !optional [string]
279
after: !optional [string]
280
cmd: !optional string
281
relative_to: !optional string
282
using_namespace: !optional [string, [string]]
283
using_module: !optional string
284
generate_metadata: !optional bool
285
title: !optional string
286
#
287
# Package diagram specific options
288
#
289
generate_packages: !optional bool
290
package_type: !optional package_type_t
291
layout: !optional layout_t
292
include_diagram_t:
293
type: !variant [include]
294
#
295
# Common options
296
#
297
__parent_path: !optional string
298
comment_parser: !optional comment_parser_t
299
debug_mode: !optional bool
300
filter_mode: !optional filter_mode_t
301
include_system_headers: !optional bool
302
exclude: !optional filter_t
303
generate_links: !optional generate_links_t
304
git: !optional git_t
305
glob: !optional [regex_or_string_t]
306
include: !optional filter_t
307
plantuml: !optional
308
before: !optional [string]
309
after: !optional [string]
310
cmd: !optional string
311
mermaid: !optional
312
before: !optional [string]
313
after: !optional [string]
314
cmd: !optional string
315
relative_to: !optional string
316
using_namespace: !optional [string, [string]]
317
generate_metadata: !optional bool
318
title: !optional string
319
#
320
# Include diagram specific options
321
#
322
generate_system_headers: !optional bool
323
diagram_t:
324
- class_diagram_t
325
- sequence_diagram_t
326
- package_diagram_t
327
- include_diagram_t
328
diagram_template_t:
329
description: !optional string
330
type: diagram_type_t
331
template: string
332
diagram_templates_t: map_t<string;diagram_template_t>
333
334
root:
335
#
336
# Root options
337
#
338
compilation_database_dir: !optional string
339
output_directory: !optional string
340
query_driver: !optional string
341
add_compile_flags: !optional [string]
342
remove_compile_flags: !optional [regex_or_string_t]
343
allow_empty_diagrams: !optional bool
344
diagram_templates: !optional diagram_templates_t
345
diagrams: !required map_t<string;diagram_t>
346
#
347
# Common options
348
#
349
__parent_path: !optional string
350
comment_parser: !optional comment_parser_t
351
debug_mode: !optional bool
352
exclude: !optional filter_t
353
generate_links: !optional generate_links_t
354
git: !optional git_t
355
glob: !optional [regex_or_string_t]
356
include: !optional filter_t
357
plantuml: !optional
358
before: !optional [string]
359
after: !optional [string]
360
cmd: !optional string
361
mermaid: !optional
362
before: !optional [string]
363
after: !optional [string]
364
cmd: !optional string
365
relative_to: !optional string
366
using_namespace: !optional [string, [string]]
367
using_module: !optional string
368
generate_metadata: !optional bool
369
#
370
# Inheritable custom options
371
#
372
include_relations_also_as_members: !optional bool
373
generate_method_arguments: !optional generate_method_arguments_t
374
combine_free_functions_into_file_participants: !optional bool
375
inline_lambda_messages: !optional bool
376
generate_concept_requirements: !optional bool
377
generate_return_types: !optional bool
378
generate_condition_statements: !optional bool
379
generate_message_comments: !optional bool
380
message_comment_width: !optional int
381
generate_packages: !optional bool
382
group_methods: !optional bool
383
package_type: !optional package_type_t
384
generate_template_argument_dependencies: !optional bool
385
skip_redundant_dependencies: !optional bool
386
type_aliases: !optional map_t<string;string>
387
filter_mode: !optional filter_mode_t
388
include_system_headers: !optional bool
389
)";
390
391
}
// namespace clanguml::config
Copyright © 2022-present
Bartek Kryza
Generated by
1.9.7