Sen API
Sen Libraries
Loading...
Searching...
No Matches
mkdocs_templates.h
Go to the documentation of this file.
1// === mkdocs_templates.h ==============================================================================================
2// Sen Infrastructure
3// Released under the Apache License v2.0 (SPDX-License-Identifier Apache-2.0).
4// See the LICENSE.txt file for more information.
5// © Airbus SAS, Airbus Helicopters, and Airbus Defence and Space SAU/GmbH/SAS.
6// =====================================================================================================================
7
8#ifndef SEN_LIBS_GEN_SRC_MKDOCS_MKDOCS_TEMPLATES_H
9#define SEN_LIBS_GEN_SRC_MKDOCS_MKDOCS_TEMPLATES_H
10
12
13// sen
14#include "sen/core/meta/type.h"
15
16// inja
17#include <inja/environment.hpp>
18#include <inja/template.hpp>
19
20// std
21#include <string>
22#include <vector>
23
24namespace sen::gen::detail
25{
26
29{
30 inja::Template aliasTemplate;
31 inja::Template classTemplate;
32 inja::Template classDiagram;
33 inja::Template enumTemplate;
34 inja::Template quantityTemplate;
35 inja::Template sequenceTemplate;
36 inja::Template structTemplate;
37 inja::Template variantTemplate;
38 inja::Template optionalTemplate;
39};
40
42{
43 std::vector<const sen::Type*> classTypes;
44 std::vector<const sen::Type*> enumTypes;
45 std::vector<const sen::Type*> structTypes;
46 std::vector<const sen::Type*> sequenceTypes;
47 std::vector<const sen::Type*> quantityTypes;
48 std::vector<const sen::Type*> aliasTypes;
49 std::vector<const sen::Type*> variantTypes;
50 std::vector<const sen::Type*> optionalTypes;
51};
52
54{
55 std::string enumerationsDoc;
56 std::string structuresDoc;
57 std::string variantsDoc;
58 std::string sequencesDoc;
59 std::string quantitiesDoc;
60 std::string aliasesDoc;
61 std::string classesDoc;
62 std::string optionalsDoc;
63
64 std::vector<Node> rootClasses;
66};
67
69MkDocsTemplates makeMkDocsTemplates(inja::Environment& env);
70
71} // namespace sen::gen::detail
72
73#endif // SEN_LIBS_GEN_SRC_MKDOCS_MKDOCS_TEMPLATES_H
Definition type_storage.h:28
inja::Template classDiagram
Definition mkdocs_templates.h:32
inja::Template structTemplate
Definition mkdocs_templates.h:36
inja::Template variantTemplate
Definition mkdocs_templates.h:37
TypeGroups groups
Definition mkdocs_templates.h:65
std::vector< const sen::Type * > optionalTypes
Definition mkdocs_templates.h:50
std::vector< const sen::Type * > enumTypes
Definition mkdocs_templates.h:44
std::string enumerationsDoc
Definition mkdocs_templates.h:55
inja::Template sequenceTemplate
Definition mkdocs_templates.h:35
std::string quantitiesDoc
Definition mkdocs_templates.h:59
std::vector< const sen::Type * > aliasTypes
Definition mkdocs_templates.h:48
std::string structuresDoc
Definition mkdocs_templates.h:56
std::string classesDoc
Definition mkdocs_templates.h:61
std::string aliasesDoc
Definition mkdocs_templates.h:60
std::vector< Node > rootClasses
Definition mkdocs_templates.h:64
std::vector< const sen::Type * > sequenceTypes
Definition mkdocs_templates.h:46
std::vector< const sen::Type * > structTypes
Definition mkdocs_templates.h:45
inja::Template classTemplate
Definition mkdocs_templates.h:31
inja::Template aliasTemplate
Definition mkdocs_templates.h:30
inja::Template optionalTemplate
Definition mkdocs_templates.h:38
MkDocsTemplates makeMkDocsTemplates(inja::Environment &env)
Templates for the type header.
std::string sequencesDoc
Definition mkdocs_templates.h:58
std::vector< const sen::Type * > variantTypes
Definition mkdocs_templates.h:49
std::vector< const sen::Type * > classTypes
Definition mkdocs_templates.h:43
std::vector< const sen::Type * > quantityTypes
Definition mkdocs_templates.h:47
inja::Template quantityTemplate
Definition mkdocs_templates.h:34
std::string optionalsDoc
Definition mkdocs_templates.h:62
inja::Template enumTemplate
Definition mkdocs_templates.h:33
std::string variantsDoc
Definition mkdocs_templates.h:57
A template for each supported user type.
Definition mkdocs_templates.h:29
Definition mkdocs_templates.h:54
Definition mkdocs_templates.h:42