template <typename Report, class Flags = DiagnosticsFlags>

class Diagnostics

Defined at line 241 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

elfldltl::Diagnostics provides a canonical implementation of a diagnostics

object. It wraps any callable object that takes the std::string_view and

other arguments passed to FormatError.

The Flags type can be DiagnosticsFlags or any type with those three member

names having types convertible to bool. The Flags object passed to the

constructor (or default-constructed) determines the behavior. The flags()

method returns the Flags copy in the diagnostics object, which can then be

changed in place. The diagnostics object tracks the numbers of errors and

warnings reported, unless Flags::multiple_errors is std::false_type.

Convenience functions below return some canonical specializations of this.

Public Methods

void Diagnostics<Report, Flags> (const Diagnostics<Report, Flags> & )

Defined at line 243 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

void Diagnostics<Report, Flags> (Diagnostics<Report, Flags> && )

Defined at line 244 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

void Diagnostics<Report, Flags> (Report report)

Defined at line 246 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

void Diagnostics<Report, Flags> (Report report, Flags flags)

Defined at line 248 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

Flags & flags ()

Defined at line 251 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

const Flags & flags ()

Defined at line 252 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

Report & report ()

Defined at line 254 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

const Report & report ()

Defined at line 255 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

unsigned int errors ()

Defined at line 257 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

unsigned int warnings ()

Defined at line 259 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

void reset ()

Reset the counters.

This doesn't do anything to the state of the Report object.

Defined at line 263 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <typename... Args>
bool FormatError (std::string_view error, Args &&... args)

The following methods are the actual "diagnostics" API as described above.

Defined at line 271 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <typename... Args>
bool FormatError (std::string_view error, Args &&... args)

The following methods are the actual "diagnostics" API as described above.

Defined at line 271 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <typename... Args>
bool FormatWarning (std::string_view error, Args &&... args)

Defined at line 277 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <typename... Args>
bool FormatWarning (std::string_view error, Args &&... args)

Defined at line 277 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool extra_checking ()

Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <size_t MaxObjects>
bool ResourceLimit (std::string_view error, size_t requested)

Defined at line 286 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <size_t MaxObjects>
bool ResourceLimit (std::string_view error, size_t requested)

Defined at line 286 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <size_t MaxObjects>
bool ResourceLimit (std::string_view error, size_t requested)

Defined at line 286 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <size_t MaxObjects>
bool ResourceLimit (std::string_view error, size_t requested)

Defined at line 286 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <size_t MaxObjects>
bool ResourceLimit (std::string_view error, size_t requested)

Defined at line 286 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool ResourceLimit (size_t max, std::string_view error, size_t requested)

Defined at line 292 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool ResourceLimit (size_t max, std::string_view error, size_t requested)

Defined at line 292 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool ResourceLimit (size_t max, std::string_view error, size_t requested)

Defined at line 292 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool ResourceLimit (size_t max, std::string_view error, size_t requested)

Defined at line 292 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool ResourceLimit (size_t max, std::string_view error, size_t requested)

Defined at line 292 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <typename... Args>
bool SystemError (std::string_view error, Args &&... args)

Defined at line 297 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

template <typename... Args>
bool SystemError (std::string_view error, Args &&... args)

Defined at line 297 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool UndefinedSymbol (std::string_view sym_name)

Defined at line 301 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool UndefinedSymbol (std::string_view sym_name)

Defined at line 301 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool MissingDependency (std::string_view soname)

Defined at line 305 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool MissingDependency (std::string_view soname)

Defined at line 305 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool OutOfMemory (std::string_view error, size_t bytes)

Defined at line 309 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool OutOfMemory (std::string_view error, size_t bytes)

Defined at line 309 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool OutOfMemory (std::string_view error, size_t bytes)

Defined at line 309 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool OutOfMemory (std::string_view error, size_t bytes)

Defined at line 309 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

bool OutOfMemory (std::string_view error, size_t bytes)

Defined at line 309 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h

Records