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