template <typename... Arg> void str_impl(std::ostream &os, Arg &&... args);
-template <> void str_impl(std::ostream &os)
+template <> inline void str_impl(std::ostream &os)
{
// DO NOTHING
return;
}
-template <typename Arg> void str_impl(std::ostream &os, Arg &&arg) { os << std::forward<Arg>(arg); }
+template <typename Arg> inline void str_impl(std::ostream &os, Arg &&arg)
+{
+ os << std::forward<Arg>(arg);
+}
template <typename Arg, typename... Args>
-void str_impl(std::ostream &os, Arg &&arg, Args &&... args)
+inline void str_impl(std::ostream &os, Arg &&arg, Args &&... args)
{
str_impl(os, std::forward<Arg>(arg));
str_impl(os, std::forward<Args>(args)...);