如何在一个语句中使用宏定义列表

时间:2018-10-30 14:00:22

标签: c++ metaprogramming

 #define Member name
 template<typename Object, typename... Mem>
 struct Reflect
 {
 tuple<Mem...> membertype;

 constexpr bool validate() {
    if constexpr ((std::is_same_v<Mem, decltype(declval<Object>().Member)> 
 () && ...)) {
        return true;
    }
    return false;
  }

  };

在上面的代码中,我希望能够使用类似宏的列表

  MEMBERS(member1, member2, member3)

并能够调用这样的表达式

std::is_same_v<Mem, decltype(declval<Object>().MEMBERS>

0 个答案:

没有答案