portingtools/src/mappings.hpp

29 lines
660 B
C++

#pragma once
#include <map>
#include <optional>
#include <string>
namespace mappings {
struct Mapping {
std::string orig;
std::string name;
std::optional<std::string> doc;
};
class Mappings {
std::map<std::string, Mapping> m_mappings;
std::map<std::string, std::string> m_renames;
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);
};
}