[gcc-7] Fix for dump-args

pull/36824/head
Craig Tiller 10 months ago
parent 05f4dc4103
commit 3b58efe98e
  1. 10
      src/core/lib/gprpp/dump_args.h

@ -36,15 +36,15 @@ class DumpArgs {
template <typename... Args> template <typename... Args>
explicit DumpArgs(const char* arg_string, const Args&... args) explicit DumpArgs(const char* arg_string, const Args&... args)
: arg_string_(arg_string) { : arg_string_(arg_string) {
do_these_things( do_these_things({AddDumper(&args)...});
{AddDumper([a = &args](std::ostream& os) { os << *a; })...});
} }
friend std::ostream& operator<<(std::ostream& out, const DumpArgs& args); friend std::ostream& operator<<(std::ostream& out, const DumpArgs& args);
private: private:
int AddDumper(absl::AnyInvocable<void(std::ostream&) const> dumper) { template <typename T>
arg_dumpers_.push_back(std::move(dumper)); int AddDumper(T* p) {
arg_dumpers_.push_back([p](std::ostream& os) { os << *p; });
return 0; return 0;
} }
@ -66,4 +66,4 @@ class DumpArgs {
#define GRPC_DUMP_ARGS(...) \ #define GRPC_DUMP_ARGS(...) \
grpc_core::dump_args_detail::DumpArgs(#__VA_ARGS__, __VA_ARGS__) grpc_core::dump_args_detail::DumpArgs(#__VA_ARGS__, __VA_ARGS__)
#endif // GRPC_SRC_CORE_LIB_GPRPP_DUMP_ARGS_H #endif // GRPC_SRC_CORE_LIB_GPRPP_DUMP_ARGS_H
Loading…
Cancel
Save