d找包中函数
D包没有关闭
;谁都可随时加
新模块.
可:
static foreach (sym; __traits(allMembers, mixin("std.string")))
{
pragma(msg, sym.stringof);
}
然后必须检查sym
是否是模板或函数
或其他.
static foreach (sym; __traits(allMembers, mixin("std.string")))
{
// 注意sym已是串,不必用.stringof
static if (is(typeof(mixin(sym)) == function))
pragma(msg, sym);
}
但请注意,这并不抓取
模板函数,仅适合非模板
全局函数.可用static if(__traits(isTemplate,mixin(sym)))
来检测
模板,但一般
无法知道它是否是模板函数
,因为为了自省
它,必须
先实例化它,但是没有自动
实例化模板
的通用方法.且参数可受到任意签名约束
,理论上它可能只是仅用于可能参数
子集的模板函数
,因此不好自动推导
哪些模板参数
实例化为有效函数
.只有在已实例化
了模板函数,才好得到模板函数
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现