|
TuringSim
C++ framework to simulate abstract computing models
|
48 const char*
what() const noexcept
override {
56 explicit operator std::string()
const {
62 void ensureFullMessage()
const {
79 mutable std::optional<std::string>
fullMsg;
89 template<
typename CharT,
typename Traits>
MessageException()=delete
a message exception must have an explicative message.
~MessageException() noexcept override=default
Destructor.
std::string getMessage() const
Get the full error message.
std::string msg
The error message.
const char * what() const noexcept override
Get the full error message.
The Base class for all custom exceptions.
std::basic_ostream< CharT, Traits > & operator<<(std::basic_ostream< CharT, Traits > &os, const MessageException &e)
Print a MessageException.
MessageException(std::string message) noexcept
Builds a MessageException with a message.
std::optional< std::string > fullMsg
The optional full message. Empty until first request.
The namespace for basic function, not specific to TuringSim.
virtual std::string makeFullMessage() const
Build the full error message. It should be overridden by derived class that adds data to the exceptio...
MessageException(MessageException &&e)=default
Move constructor.
MessageException(const MessageException &e)=default
Copy constructor.