From 4156d39a594b43fee92ce36d1f7ec4642c1b97f0 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 1 Jun 2023 10:14:52 +0800 Subject: [PATCH] update --- core/basic/enum_converter.hpp | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 core/basic/enum_converter.hpp diff --git a/core/basic/enum_converter.hpp b/core/basic/enum_converter.hpp new file mode 100644 index 0000000..eebbf0e --- /dev/null +++ b/core/basic/enum_converter.hpp @@ -0,0 +1,48 @@ +// +// Created by zwsd +// + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace iflytop { +namespace core { +using namespace std; +template +class EnumConverter { + public: + map _e2str; + map _str2e; + EnumConverter(map table) : _e2str(table) { + for (auto it = table.begin(); it != table.end(); it++) { + _str2e[it->second] = it->first; + } + } + string e2str(T e) { // + auto it = _str2e.find(e); + if (it != _str2e.end()) { + return it->second; + } + return "unkown"; + }; + T str2e(string s) { + auto it = _e2str.find(s); + if (it != _e2str.end()) { + return it->second; + } + return (T)-1; + }; +}; +} // namespace core +} // namespace iflytop \ No newline at end of file