Porytiles
Loading...
Searching...
No Matches
diagnostics.hpp File Reference
#include <any>
#include <functional>
#include <sstream>
#include <string>
#include <unordered_set>
#include <fmt/color.h>
#include <fmt/ranges.h>
Include dependency graph for diagnostics.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  porytiles::DiagTempl
 Defines a reusable template for standardized diagnostic reporting. More...
 
class  porytiles::InFlightDiag
 Represents an in-flight diagnostic. More...
 
class  porytiles::DiagConsumer
 A customizable consumer for diagnostic messages. More...
 
class  porytiles::IgnoreConsumer
 A DiagConsumer implementation that simply ignores the provided diagnostic. More...
 
class  porytiles::StderrConsumer
 A DiagConsumer implementation that pushes diagnostic messages to stderr. More...
 
class  porytiles::VectorConsumer
 A DiagConsumer implementation that pushes diagnostic messages to an internal vector. More...
 
struct  std::hash< porytiles::DiagTempl >
 Specialization of std::hash for porytiles::DiagTempl. More...
 

Namespaces

namespace  porytiles
 

Typedefs

using porytiles::DynamicMsgBuilder = std::function< std::vector< std::string >(const DiagEngine &eng, DiagLevel in_flight_level, const std::vector< std::any > &args)>
 An alias for a dynamic diagnostic message builder function.
 

Enumerations

enum class  porytiles::DiagLevel {
  porytiles::kIgnored , porytiles::kNote , porytiles::kRemark , porytiles::kWarning ,
  porytiles::kError , porytiles::kFatal
}
 

Functions

std::string porytiles::LevelToStr (DiagLevel level)
 
fmt::terminal_color porytiles::ColorForLevel (DiagLevel level)
 
int porytiles::LevelPriority (DiagLevel level)
 
DiagTempl porytiles::DiagFor (std::string_view name)
 Retrieves the DiagTempl corresponding to a given diagnostic name.
 
std::vector< const char * > porytiles::AllDiagNames ()
 Gets an iterable view of all DiagTempl names in the internal table.
 
std::vector< const char * > porytiles::AllDiagNames (DiagLevel level)
 Get an iterable view of all DiagTempl names for a given DiagLevel.
 

Variables

constexpr auto porytiles::NoteGeneric = "note-generic"
 
constexpr auto porytiles::WarnColorPrecisionLoss = "color-precision-loss"
 
constexpr auto porytiles::WarnKeyFrameNoMatchingTile = "key-frame-no-matching-tile"
 
constexpr auto porytiles::WarnKeyFrameMissingColors = "key-frame-missing-colors"
 
constexpr auto porytiles::WarnAttributeFormatMismatch = "attribute-format-mismatch"
 
constexpr auto porytiles::WarnMissingAttributesCsv = "missing-attributes-csv"
 
constexpr auto porytiles::WarnUnusedAttribute = "unused-attribute"
 
constexpr auto porytiles::WarnTransparencyCollapse = "transparency-collapse"
 
constexpr auto porytiles::WarnUnusedManualPalColor = "unused-manual-pal-color"
 
constexpr auto porytiles::WarnTileIndexOutOfRange = "tile-index-out-of-range"
 
constexpr auto porytiles::WarnPaletteIndexOutOfRange = "palette-index-out-of-range"
 
constexpr auto porytiles::ErrGeneric = "error-generic"
 
constexpr auto porytiles::FatalGeneric = "error-fatal-generic"
 

Detailed Description

Definitions for various diagnostic-related types.

Definition in file diagnostics.hpp.