diff options
Diffstat (limited to 'absl/strings/internal/str_join_internal.h')
-rw-r--r-- | absl/strings/internal/str_join_internal.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/absl/strings/internal/str_join_internal.h b/absl/strings/internal/str_join_internal.h index 440d47ff..3e730c7a 100644 --- a/absl/strings/internal/str_join_internal.h +++ b/absl/strings/internal/str_join_internal.h @@ -33,6 +33,7 @@ #include <cstdint> #include <cstring> +#include <initializer_list> #include <iterator> #include <limits> #include <memory> @@ -321,6 +322,15 @@ std::string JoinRange(const Range& range, absl::string_view separator) { return JoinRange(begin(range), end(range), separator); } +template <typename Tuple, std::size_t... I> +std::string JoinTuple(const Tuple& value, absl::string_view separator, + std::index_sequence<I...>) { + return JoinRange( + std::initializer_list<absl::string_view>{ + static_cast<const AlphaNum&>(std::get<I>(value)).Piece()...}, + separator); +} + } // namespace strings_internal ABSL_NAMESPACE_END } // namespace absl |