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