如何在C++中显示命名空间内的所有元素?
可以使用Doxygen分隔命名空间并打印它们吗?使用GCC?
我假设我不知道命名空间名称所以我想打印它们或我知道一个特定的命名空间名称,我想知道里面是什么.
C++没有反射(例如许多动态语言或Java和.NET),因此在C++中是不可能的.
Doxygen可以将其数据导出为XML而不是HTML,因此您可以使用XSLT样式表将Doxygen的XML输出转换为您想要的任何格式.
有一个名为GCC-XML的GCC版本,它不是编译输出解析的C++代码的XML表示,在这里你也可以这样做.
最后但并非最不重要的,您当然可以为Clang的GCC创建一个插件并在那里进行(GCC例如可以使用来自Mozilla的Dehydra补丁使用Javascript编写的插件).
我建议查看Doxygen XML输出.