I'm wondering what (Logger & (*m)(Logger &)) means, and then what the body of the function does.Code:Logger& Logger::operator<<(Logger & (*m)(Logger &)){ (*m)(*this); return *this; } Logger& Logger::operator<<(double lvalue){ ... return *this; } ... (more overloaded << operators here)
Because right now, I don't understand how something like
works.Code:int temp = 9; Logger log; log << "hi there" << temp << endl;