No, that is not possible.
The closest you can come would be something like:
anyType operator<<(std::pair<arg, arg> p)
{
DoSomethingWith(p.first);
DoSomethingWith(p.second);
return (*this);
}
anyvar << std::make_pair(a1, a2);
Alternatively, you could do something much more complicated to effectively curry the call to your operator, by having anyType::operator<<(arg)
return a temporary object which just holds on to its argument and implements a different tempObject::operator<<(arg)
which actually does the work. You can then call that as anyvar << arg1 << arg2
. I really doubt whether it is worth the trouble, aside from being a learning experience.
Something similar to that style is often used in the "builder" pattern, but using member functions rather than an explicit operator. That's useful because you can arrange to effectively make configuration arguments order-independent.