I was reading the code from spdlog(C++ logging library) in github and i come up to the following template:
template<typename Factory>
SPDLOG_INLINE std::shared_ptr<logger> stdout_color_mt(const std::string &logger_name, color_mode mode)
{
return Factory::template create<sinks::stdout_color_sink_mt>(logger_name, mode);
}
My general understanding of the code is that this will produce a function that will return a smart pointer using the another template called create. My confusion is about the meaning of Factory::template after the return statement.