Lui*_*ete 1 c++ stl std wrapper c++11
我正在开发一个自定义库.到目前为止,我已将std :: tuple和std :: tie包装到我自己的myOwn :: Tuple和myOwn :: tie中.它们的功能与std :: tuple和std :: tie相同.我想用std :: ignore做类似的事情.
到目前为止,我写了以下内容:
namespace myOwn
{
auto
tilde()
-> decltype(std::ignore)
{
return std::ignore;
}
}
Run Code Online (Sandbox Code Playgroud)
我唯一的问题是我现在必须使用带圆括号的myOwn :: tilde().我希望能够将其用作myOwn :: tilde.到目前为止,我在std :: ignore上读到的只是如何使用它,
在这里:C++:使用std :: ignore返回std :: tie的类型
我试过用了
typedef std::ignore tilde
Run Code Online (Sandbox Code Playgroud)
但这没有成功.任何帮助,将不胜感激.这个问题可能对试图包装对象的其他人有用.
如果您不需要修改std::ignore,只想重命名,那么
decltype(std::ignore) &tilde = std::ignore;
Run Code Online (Sandbox Code Playgroud)
在命名空间范围应该做你需要的.
std::ignore不保证是DefaultConstructible或CopyAssignable,因此它不能可移植地构建或复制,但我们可以保存对它的引用.这种类型tilde是decltype(std::ignore) &,但由于std::tie引用,它应该起到相同的作用std::ignore.
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |