44 const static std::string prefix =
"scorum::protocol::";
45 const static std::string suffix =
"_operation";
47 if ((name.size() >= prefix.size() + suffix.size()) && (name.substr(0, prefix.size()) == prefix)
48 && (name.substr(name.size() - suffix.size(), suffix.size()) == suffix))
49 return name.substr(prefix.size(), name.size() - prefix.size() - suffix.size());
53 wlog(
"don't know how to clean name: ${name}", (
"name", name));
66 std::string name =
clean_name(fc::get_typename<T>::name());
79 template <
typename Member>
101 dummy.set_which(which);
103 return dummy.visit(vtor);
109 int n = dummy.count();
111 for (
int i = 0; i < n; i++)
void from_variant(const fc::variant &var, game_type &game)
std::string clean_name(const std::string &name)
static_variant_map create_static_variant_map()
T from_which_variant(int which, const variant &v)
from_which_visitor(const variant &_v)
result_type operator()(const Member &dummy)
StaticVariant result_type
static_variant_map_visitor()
void operator()(const T &dummy)
std::vector< std::string > which_to_name
flat_map< std::string, int > name_to_which