diff --git a/coding/multilang_utf8_string.cpp b/coding/multilang_utf8_string.cpp index d63413555c..84353d0cae 100644 --- a/coding/multilang_utf8_string.cpp +++ b/coding/multilang_utf8_string.cpp @@ -81,3 +81,25 @@ bool StringUtf8Multilang::GetString(int8_t lang, string & utf8s) const return false; } + +namespace +{ +struct Printer +{ + string & m_out; + Printer(string & out) : m_out(out) {} + bool operator()(int8_t code, string const & name) const + { + m_out += string(StringUtf8Multilang::GetLangByCode(code)) + string(":") + name + " "; + return true; + } +}; +} // namespace + +string DebugPrint(StringUtf8Multilang const & s) +{ + string out; + Printer printer(out); + s.ForEachRef(printer); + return out; +} diff --git a/coding/multilang_utf8_string.hpp b/coding/multilang_utf8_string.hpp index 2d40a8bf77..938b7fd1cf 100644 --- a/coding/multilang_utf8_string.hpp +++ b/coding/multilang_utf8_string.hpp @@ -92,20 +92,4 @@ public: } }; -string DebugPrint(StringUtf8Multilang const & s) -{ - string out; - struct Printer - { - string & m_out; - Printer(string & out) : m_out(out) {} - bool operator()(int8_t code, string const & name) const - { - m_out += string(StringUtf8Multilang::GetLangByCode(code)) + string(":") + name + " "; - return true; - } - } printer(out); - - s.ForEachRef(printer); - return out; -} +string DebugPrint(StringUtf8Multilang const & s); diff --git a/coding/value_opt_string.hpp b/coding/value_opt_string.hpp index 3aff7f79b3..02d066771b 100644 --- a/coding/value_opt_string.hpp +++ b/coding/value_opt_string.hpp @@ -73,7 +73,7 @@ public: } }; -string DebugPrint(StringNumericOptimal const & s) +inline string DebugPrint(StringNumericOptimal const & s) { return s.Get(); }