std :: unordered map of string - function pairs

时间:2017-06-09 11:16:49

标签: c++ stl

我需要将一组函数(来自mpfr::real库的函数)映射到一组标记,但我不知道如何将标记直接映射到函数。我该怎么做?

1 个答案:

答案 0 :(得分:0)

我现在使用#define -

定义这样的仿函数
#define op(opname, ret, argtype, fn, args...) struct opname { ret operator ()argtype { return fn } };

让我写(例如) -

op(add, real, (real a, real b), mpfr::operator +(a, b))

(real is typedef mpfr::real<1024>

得到 -

struct add { real operator ()(real a, real b) { return mpfr::operator +(a, b) } };

这样我就可以快速编写所有类型的函数。