我只想要一种具有函数(或其他任何函数)的方法,该函数具有一个标准参数,而另一个则来自运算符<<。
my_comp(argument) << "HelloWorld" ;
目的是使任何其他类都可以轻松扩展的Logger类成为目标,并用一行代码调用其独特功能。
Logger类主要使用boost / log /包,并且其独特的功能可以被多次写入。这就是为什么我只需要一行。
我没有授权自己使用该功能:
BOOST_LOG_SEV(argument_boost_dependent, argument_logger_class_dependent) << "something"
因为我不想在我的界面上使用boost的任何依赖。
所以我正在尝试做这样的事情:
loggit(argument_logger_class_dependent) << "something"
并BOOST_LOG_SEV
在类实现中使用boosts参数调用
现在,我只有一个扩展了std :: streambuf的结构,因此它只能像这样工作:loggit << "HelloLog"
或通过重写操作符()来工作,loggit(severity_level::warning)
但两者都不起作用。
如果有人知道如何添加这个可爱的参数,欢迎您:)
谢谢
#include <iostream>
struct foo
{
int bar;
foo(int bar) : bar{ bar } {};
foo& operator<<(std::string baz)
{
std::cout << bar << ' ' << baz;
return *this;
}
};
int main()
{
foo(42) << "Hells in the World!\n";
}
说得通?没有?问题回答了吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句