Make function definition in header inline
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 8 Mar 2019 10:43:56 +0000 (10:43 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 8 Mar 2019 10:43:56 +0000 (10:43 +0000)
Otherwise including this header from more than one place will break
linking.

llvm-svn: 355684

lldb/include/lldb/Utility/ReproducerInstrumentation.h

index 7ceec9b..7f8f2ae 100644 (file)
 
 template <typename T,
           typename std::enable_if<std::is_fundamental<T>::value, int>::type = 0>
-void log_append(llvm::raw_string_ostream &ss, const T &t) {
+inline void log_append(llvm::raw_string_ostream &ss, const T &t) {
   ss << t;
 }
 
 template <typename T, typename std::enable_if<!std::is_fundamental<T>::value,
                                               int>::type = 0>
-void log_append(llvm::raw_string_ostream &ss, const T &t) {
+inline void log_append(llvm::raw_string_ostream &ss, const T &t) {
   ss << &t;
 }
 
 template <typename T>
-void log_append(llvm::raw_string_ostream &ss, const T *t) {
+inline void log_append(llvm::raw_string_ostream &ss, const T *t) {
   ss << t;
 }
 
-inline template <>
-void log_append<char>(llvm::raw_string_ostream &ss, const char *t) {
+template <>
+inline void log_append<char>(llvm::raw_string_ostream &ss, const char *t) {
   ss << t;
 }
 
 template <typename Head>
-void log_helper(llvm::raw_string_ostream &ss, const Head &head) {
+inline void log_helper(llvm::raw_string_ostream &ss, const Head &head) {
   log_append(ss, head);
 }
 
 template <typename Head, typename... Tail>
-void log_helper(llvm::raw_string_ostream &ss, const Head &head,
-                const Tail &... tail) {
+inline void log_helper(llvm::raw_string_ostream &ss, const Head &head,
+                       const Tail &... tail) {
   log_append(ss, head);
   ss << ", ";
   log_helper(ss, tail...);
 }
 
-template <typename... Ts> std::string log_args(const Ts &... ts) {
+template <typename... Ts> inline std::string log_args(const Ts &... ts) {
   std::string buffer;
   llvm::raw_string_ostream ss(buffer);
   log_helper(ss, ts...);