template <class Derived>
class ModuleDiagnosticsReportBase
Defined at line 71 of file ../../sdk/lib/ld/include/lib/ld/diagnostics.h
This is a CRTP base class to define a Report type to use with the
elfldltl::Diagnostics template (see
<lib
/elfldltl/diagnostics.h>). It
holds a current module name that can be changed; when set, it's used as a
prefix on messages. The derived class must define one method:
```
class MyReport : public ld::ModuleDiagnosticsReportBase
<MyReport
> {
public:
template
<typename
... Args>
bool Report(Args
&
&
... args);
};
```
This is called just like the elfldltl::Diagnostics
<
...>::report() callable
object gets called. When the current module name is set, the Report method
calls get leading std::string_view arguments of `module(), ": "`.
Public Methods
std::string_view module ()
Defined at line 73 of file ../../sdk/lib/ld/include/lib/ld/diagnostics.h
void set_module (std::string_view module)
Defined at line 75 of file ../../sdk/lib/ld/include/lib/ld/diagnostics.h
void clear_module ()
Defined at line 77 of file ../../sdk/lib/ld/include/lib/ld/diagnostics.h
template <typename... Args>
bool operator() (Args &&... args)
Defined at line 80 of file ../../sdk/lib/ld/include/lib/ld/diagnostics.h