Skip to content

Commit dc03d42

Browse files
committed
Add fallback for c++14 and below
1 parent 2bd3f39 commit dc03d42

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

api/include/opentelemetry/logs/logger.h

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,17 @@ class Logger
7878
// attributes. The left to right unpack order could pass the more important
7979
// data to processors to avoid caching and memory allocating.
8080
//
81-
IgnoreTraitResult(
82-
(detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
83-
log_record.get(),
84-
std::forward<ArgumentType>(args)),...));
81+
#if __cplusplus <= 201402L
82+
// C++14 does not support fold expressions for parameter pack expansion.
83+
int dummy[] = {(detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
84+
log_record.get(), std::forward<ArgumentType>(args)),
85+
0)...};
86+
IgnoreTraitResult(dummy);
87+
#else
88+
IgnoreTraitResult((detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
89+
log_record.get(), std::forward<ArgumentType>(args)),
90+
...));
91+
#endif
8592

8693
EmitLogRecord(std::move(log_record));
8794
}

0 commit comments

Comments
 (0)