当前位置:网站首页>d枚举生成位
d枚举生成位
2022-08-04 23:06:00 【fqbqrr】
static struct S(E, T)
{
private T flags;
private enum mask(string name) = 1 << __traits(getMember, E, name);
pure nothrow @nogc @safe final {
bool opDispatch(string name)(bool v)
{
v ? (flags |= mask!name) : (flags &= ~mask!name);
return v;
}
bool opDispatch(string name)() const scope
{
return !!(flags & mask!name);
}
}
}
enum F {
square,circle,triangle }
S!(F, ubyte) s;
assert(s.square = true);
assert(!(s.circle = false));
assert(s.triangle = true);
assert(s.square);
assert(!s.circle);
assert(s.triangle);
边栏推荐
猜你喜欢
随机推荐
【云原生 · Kubernetes】Kubernetes运维
一点点读懂regulator(二)
[QNX Hypervisor 2.2用户手册]10.5 vdev ioapic
对“为什么一些程序员很傲慢”的解读
Redis understanding
【字符串函数内功修炼】strlen + strstr + strtok + strerror(三)
365天深度学习训练营-学习线路
论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
If you can't get your heart, use "distributed lock" to lock your people
Acwing3593. 统计单词
一点点读懂cpufreq(一)
Linear DP (bottom)
生产者消费者问题
【3D建模制作技巧分享】ZBrush模型如何添加不同材质
The Record of Reminding myself
社区分享|腾讯海外游戏基于JumpServer构建游戏安全运营能力
【3D建模制作技巧分享】ZBrush如何使用Z球
Service Mesh落地路径
PID控制器改进笔记之七:改进PID控制器之防超调设定
年薪50W+的测试工程师都在用这个:Jmeter 脚本开发之——扩展函数