46 #ifndef ABSL_STRINGS_STR_JOIN_H_ 47 #define ABSL_STRINGS_STR_JOIN_H_ 51 #include <initializer_list> 55 #include <type_traits> 117 template <
typename FirstFormatter,
typename SecondFormatter>
128 strings_internal::AlphaNumFormatterImpl>
139 template <
typename Formatter>
143 std::forward<Formatter>(f));
149 strings_internal::AlphaNumFormatterImpl>
243 template <
typename Iterator,
typename Formatter>
249 template <
typename Range,
typename Formatter>
255 template <
typename T,
typename Formatter>
261 template <
typename... T,
typename Formatter>
267 template <
typename Iterator>
272 template <
typename Range>
277 template <
typename T>
282 template <
typename... T>
290 #endif // ABSL_STRINGS_STR_JOIN_H_
std::string StrJoin(Iterator start, Iterator end, absl::string_view sep, Formatter &&fmt)
strings_internal::PairFormatterImpl< FirstFormatter, SecondFormatter > PairFormatter(FirstFormatter f1, absl::string_view sep, SecondFormatter f2)
std::string JoinRange(Iterator first, Iterator last, absl::string_view separator)
std::string JoinAlgorithm(Iterator start, Iterator end, absl::string_view s, Formatter &&f)
strings_internal::AlphaNumFormatterImpl AlphaNumFormatter()
strings_internal::DereferenceFormatterImpl< Formatter > DereferenceFormatter(Formatter &&f)
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
strings_internal::StreamFormatterImpl StreamFormatter()