barretenberg
Loading...
Searching...
No Matches
schema_name.hpp
1#pragma once
2#include "barretenberg/ecc/curves/bn254/g1.hpp"
3#include <cxxabi.h>
4#include <string>
5
14template <typename T> std::string msgpack_schema_name(T const&)
15{
16 std::string result = abi::__cxa_demangle(typeid(T).name(), NULL, NULL, NULL);
17 if (result.find("basic_string") != std::string::npos) {
18 return "string";
19 }
20 if (result == "i") {
21 return "int";
22 }
23
24 if (result.find('<') != size_t(-1)) {
25 result = result.substr(0, result.find('<'));
26 }
27 if (result.rfind(':') != size_t(-1)) {
28 result = result.substr(result.rfind(':') + 1, result.size());
29 }
30 return result;
31}