问题标签 [inline-namespaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
439 浏览

c++ - 为什么 range-v3 将其函数对象放入内联命名空间?

在 range-v3 中,所有函数都是内联命名空间中的真正全局函数对象:

命名空间的目的是什么function_objects?据我所知,图书馆的其他任何地方都没有引用它。

0 投票
1 回答
275 浏览

c++ - 寻求对内联命名空间的澄清

cppreference中,可以找到以下文本:

内联命名空间的每个成员都可以部分特化、显式实例化或显式特化,就好像它是封闭命名空间的成员一样。

注意:关于特化的规则允许库版本控制:库模板的不同实现可以在不同的内联命名空间中定义,同时仍然允许用户使用主模板的显式特化来扩展父命名空间。

这些陈述意味着什么?有人可以通过一个简单的例子来解释吗?

0 投票
1 回答
99 浏览

c++ - 在 cpp 文件中使用内联命名空间中的类型在 MSVS 中不起作用

我的库中有两个版本的错误结构,所以我想使用内联命名空间进行版本控制。

这是说明我在 Visual Studio 2017 中收到的编译错误的示例。clang 和 gcc 都可以正常工作。

看起来像 MSVS 中的一个错误,或者我可能遗漏了一些东西。此代码在 MSVS 上运行良好,没有任何问题:

知道为什么我会收到此错误吗?

0 投票
1 回答
170 浏览

c++ - 封闭命名空间内联时的嵌套命名空间定义

考虑以下演示程序

编译器对程序的编译clang HEAD 11.0.0结果如下

但是根据嵌套命名空间定义的语法,我可能不会inline在命名空间 A 之前使用关键字。

那么这是编译器的错误还是我做错了什么?

顺便说一句,编译器gcc HEAD 10.0.1 20200在没有任何警告的情况下编译程序。

0 投票
2 回答
76 浏览

c++ - 使用“多个”命名空间单行

有没有一种简化的方法来包含更多的命名空间,而不是每次都输入相同的东西。这很烦人,尤其是在 .h 文件中。

例如:

而不是写:

我会比较喜欢:

使用 myNamespace = blabla1,blabla2,blabla3;

谢谢

0 投票
1 回答
183 浏览

c++ - 非内联命名空间不能作为内联重新打开

我在理解编译器的投诉时遇到问题:

gcc 说

必须在初始定义时指定内联命名空间

MSVC 说明了标题中的内容。

我的混乱来自我的期望,即两个后续的匿名命名空间应该被视为一个不相关的新空间的新声明,但编译器抱怨它们以某种方式链接,就像它试图用第二个扩展第一个命名空间一样。

https://godbolt.org/z/rwAYLg

0 投票
0 回答
60 浏览

c++ - 如何在 doxygen 中禁用使用 c++ 内联命名空间填充封闭命名空间

有没有办法禁止将内联命名空间添加到 doxygen 中的封闭命名空间?

  • Fe使用向导创建的 vanilla Doxyfile 运行测试示例 57,生成以下类列表

在此处输入图像描述

我正在寻找一种方法来禁用 library::v2::foo 也不会被列在 library 下:

在此处输入图像描述

我更喜欢配置选项,但特殊命令某种分组或任何其他解决方案也可以。

这是测试 57 的源代码