Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
IValidable.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <ostream>
4#include <string>
5#include <vector>
6
7namespace Graphic::Utils {
8
10 std::string message;
11 std::string location;
12 enum class Severity {
15 };
17
18 friend inline std::ostream &operator<<(std::ostream &stream, const ValidationError &error)
19 {
20 stream << "[" << (error.severity == ValidationError::Severity::Error ? "Error" : "Warning") << "] "
21 << error.location << ": " << error.message;
22 return stream;
23 }
24};
25
27 public:
28 virtual ~IValidable() = default;
29 virtual std::vector<ValidationError> validate() const = 0;
30};
31} // namespace Graphic::Utils
Definition IValidable.hpp:26
virtual ~IValidable()=default
virtual std::vector< ValidationError > validate() const =0
Definition DefaultSampler.hpp:6
Definition IValidable.hpp:9
Severity severity
Definition IValidable.hpp:16
Severity
Definition IValidable.hpp:12
@ Warning
Definition IValidable.hpp:13
@ Error
Definition IValidable.hpp:14
friend std::ostream & operator<<(std::ostream &stream, const ValidationError &error)
Definition IValidable.hpp:18
std::string location
Definition IValidable.hpp:11
std::string message
Definition IValidable.hpp:10