portingtools/src/mappings.hpp

29 lines
660 B
C++
Raw Normal View History

2022-11-09 16:08:54 +01:00
#pragma once
2022-11-05 18:07:20 +01:00
#include <map>
2022-11-08 21:59:56 +01:00
#include <optional>
2022-11-05 18:07:20 +01:00
#include <string>
2022-11-08 21:59:56 +01:00
2022-11-05 18:07:20 +01:00
namespace mappings {
2022-11-09 22:02:26 +01:00
struct Mapping {
std::string orig;
std::string name;
std::optional<std::string> doc;
};
2022-11-08 21:59:56 +01:00
2022-11-09 22:02:26 +01:00
class Mappings {
std::map<std::string, Mapping> m_mappings;
std::map<std::string, std::string> m_renames;
2022-11-05 18:07:20 +01:00
2022-11-09 22:02:26 +01:00
public:
Mappings(
std::map<std::string, Mapping> mappings,
std::map<std::string, std::string> renames
):
m_mappings(mappings), m_renames(renames) {}
~Mappings() = default;
static Mappings load();
std::string map(std::string inp);
};
}