当前位置:网站首页>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);
边栏推荐
- 为何越来越多人选择进入软件测试行业?深度剖析软件测试的优势...
- Linear DP (bottom)
- Linux系统重启和停止Mysql服务教程
- Redisson
- Kernel函数解析之kernel_restart
- 【3D建模制作技巧分享】zbrush贴图映射小技巧
- 一点点读懂regulator(三)
- [QNX Hypervisor 2.2用户手册]10.6 vdev mc146818
- typeScript-promise
- [Paper Notes KDD2021] MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems
猜你喜欢
亿流量大考(3):不加机器,如何抗住每天百亿级高并发流量?
365天深度学习训练营-学习线路
Leaflets of three bouquet of roses
直接插入排序
【字符串函数内功修炼】strlen + strstr + strtok + strerror(三)
[Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)
未来我们还需要浏览器吗?(feat. 枫言枫语)
Reconfigure the ffmpeg plugin in chrome
956. 最高的广告牌
PHP(3)
随机推荐
go语言的日志实现(打印日志、日志写入文件、日志切割)
Both synchronized and ReentrantLock are smooth, because they are reentrant locks, and a thread will not deadlock if it takes the lock multiple times. We need reentrant locks
kernel问题定位手段总结
360市值四年蒸发3900亿,政企安全能救命吗?
直播带货为农产品开拓销售渠道
年薪50W+的测试工程师都在用这个:Jmeter 脚本开发之——扩展函数
一点点读懂cpufreq(一)
正则表达式绕过
质量管理大师爱德华·戴明博士经典的质量管理14条原则
MySQL基础篇【子查询】
软件测试技术之如何编写测试用例(4)
直接插入排序
How to make a video gif?Try this video making gif artifact
The Go Programming Language (Introduction)
BUG | The interface returns abnormal data
407. 接雨水 II
The Controller layer code is written like this, concise and elegant!
Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
typeScript-部分应用函数
堪称奔驰“理财产品”,空间媲美宝马X5,采用了非常运动的外观