Refactored standard template aliases to configuration file
This commit is contained in:
@@ -148,6 +148,25 @@ void class_diagram::initialize_relationship_hints()
|
||||
}
|
||||
}
|
||||
|
||||
void class_diagram::initialize_template_aliases()
|
||||
{
|
||||
if (!template_aliases().count("std::basic_string<char>")) {
|
||||
template_aliases().insert({"std::basic_string<char>", "std::string"});
|
||||
}
|
||||
if (!template_aliases().count("std::basic_string<wchar_t>")) {
|
||||
template_aliases().insert(
|
||||
{"std::basic_string<wchar_t>", "std::wstring"});
|
||||
}
|
||||
if (!template_aliases().count("std::basic_string<char16_t>")) {
|
||||
template_aliases().insert(
|
||||
{"std::basic_string<char16_t>", "std::u16string"});
|
||||
}
|
||||
if (!template_aliases().count("std::basic_string<char32_t>")) {
|
||||
template_aliases().insert(
|
||||
{"std::basic_string<char32_t>", "std::u32string"});
|
||||
}
|
||||
}
|
||||
|
||||
template <> void append_value<plantuml>(plantuml &l, const plantuml &r)
|
||||
{
|
||||
l.append(r);
|
||||
@@ -489,8 +508,10 @@ template <> struct convert<class_diagram> {
|
||||
get_option(node, rhs.generate_method_arguments);
|
||||
get_option(node, rhs.generate_packages);
|
||||
get_option(node, rhs.relationship_hints);
|
||||
get_option(node, rhs.template_aliases);
|
||||
|
||||
rhs.initialize_relationship_hints();
|
||||
rhs.initialize_template_aliases();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -116,6 +116,8 @@ struct relationship_hint_t {
|
||||
|
||||
using relationship_hints_t = std::map<std::string, relationship_hint_t>;
|
||||
|
||||
using template_aliases_t = std::map<std::string, std::string>;
|
||||
|
||||
std::string to_string(const hint_t t);
|
||||
|
||||
struct inheritable_diagram_options {
|
||||
@@ -135,6 +137,7 @@ struct inheritable_diagram_options {
|
||||
option<std::filesystem::path> relative_to{"relative_to"};
|
||||
option<bool> generate_system_headers{"generate_system_headers", false};
|
||||
option<relationship_hints_t> relationship_hints{"relationship_hints"};
|
||||
option<template_aliases_t> template_aliases{"template_aliases"};
|
||||
|
||||
void inherit(const inheritable_diagram_options &parent);
|
||||
};
|
||||
@@ -162,6 +165,8 @@ struct class_diagram : public diagram {
|
||||
option<layout_hints> layout{"layout"};
|
||||
|
||||
void initialize_relationship_hints();
|
||||
|
||||
void initialize_template_aliases();
|
||||
};
|
||||
|
||||
struct sequence_diagram : public diagram {
|
||||
|
||||
Reference in New Issue
Block a user