- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此问题假定您熟悉定制点管理技术 tag_invoke
, 在 P1895R0 中介绍.
自定义点对象可以根据 P1895R0 定义为:
inline constexpr struct foo_cpo {
// simplified original by omitting noexcept forward and using auto arg
auto operator()(auto const &x) -> decltype( std::tag_invoke(*this, x) ) {
return std::tag_invoke(*this, x); // <--^-- here are the Niebloid
}
} foo;
但鉴于这种技术的关键是直接处理对象,并将所有 ADL 委托(delegate)给一个唯一商定的标识符
tag_invoke
,那么似乎可以通过简单地实现相同的效果,
inline constexpr struct {
auto operator()(auto const &x) -> decltype( tag_invoke(*this, x) ) {
return tag_invoke(*this, x); // no Niebloid. directly ADL call tag_invoke
}
} foo;
例如,来自 P1895R0 的类型删除示例,即
https://godbolt.org/z/3TvO4f , 可以在完全不使用 Niebloid 的情况下重新实现:
https://godbolt.org/z/dzqE7b .代码与原文一字不差,取模Niebloid的定义
std::tag_invoke
并对所有自定义点对象使用上述 ADL 形式。
tag_invoke
的要求是什么? ?
最佳答案
我不认为 tag_invoke
是绝对必要的本身就是一个函数对象。但是,如果我们认为有必要,将其定义为对象为我们提供了一个方便的地方来放置毒丸过载。将函数作为可以传递给高阶函数的一等公民通常很好。就是这样,真的。
关于c++ - 为什么 tag_invoke 模式根本需要 Niebloid std::tag_invoke?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63818871/
我遇到了一个似乎很独特的问题。我的 NSUbiquitousKeyValueStore 在模拟器中的启动之间根本不起作用。也就是说,我什至不是在谈论 iCloud 同步或类似的东西,我无法让它通过下面
首先,我使用的是 WiX 版本 3.5.2519.0,但我也在最新的 3.6 版本上测试了它,结果相同。 我很难确定 PatchFamily 究竟能过滤掉 torch 生成的差异的某些部分。按照手册中
我可以获取要呈现的“帮助主题”标题,但无法获取我定义的任何FIXTURES。 {{#each model}} 中的任何内容都不会渲染。这是我第一次使用 Ember,所以任何东西(字面意义上的任何东
我一直在尝试设置custom ajaxTransports for jQuery在我们的产品的某些场景下缩短某些工作流程。然而,我在让这些传输受到尊重方面取得了零成功(而我有很多工作 custom a
为什么纯无类型 lambda 演算经常被描述为无法使用? 有了合适的函数库,它会不会与任何其他函数式语言大致相同? 最佳答案 速度不是大问题。例如,您可以决定使用教堂数字但优化实现,以便像往常一样表示
我是一名优秀的程序员,十分优秀!