Skip to content

Commit 111c298

Browse files
committed
[ADT] Simplify determining size for joining items
`join_items_size` uses recursive function templates for determining the total items size. Instead, use fold expressions since we have C++17 available now. Differential Revision: https://reviews.llvm.org/D138375
1 parent fb61dce commit 111c298

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

llvm/include/llvm/ADT/StringExtras.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -451,14 +451,8 @@ template <typename T> inline size_t join_one_item_size(const T &Str) {
451451
return Str.size();
452452
}
453453

454-
inline size_t join_items_size() { return 0; }
455-
456-
template <typename A1> inline size_t join_items_size(const A1 &A) {
457-
return join_one_item_size(A);
458-
}
459-
template <typename A1, typename... Args>
460-
inline size_t join_items_size(const A1 &A, Args &&... Items) {
461-
return join_one_item_size(A) + join_items_size(std::forward<Args>(Items)...);
454+
template <typename... Args> inline size_t join_items_size(Args &&...Items) {
455+
return (0 + ... + join_one_item_size(std::forward<Args>(Items)));
462456
}
463457

464458
} // end namespace detail

0 commit comments

Comments
 (0)