Yerbacon/src/headers/Yerbacon.hpp

29 lines
748 B
C++
Raw Normal View History

#ifndef YERBACON_HPP
#define YERBACON_HPP
#ifndef YBCON_VERSION
#warning "YBCON_VERSION is unknown and will therefore be set to a default value"
#define YBCON_VERSION "UNKNOWN"
#endif
#ifdef __STDC_NO_THREADS__
#error "A valid std::threads implementation is required"
#endif
#include <exception>
#include <string_view>
#include <string>
namespace Yerbacon {
consteval const char* getVersion() noexcept { return YBCON_VERSION; }
class Exception: public std::exception {
std::string exceptionCause;
[[nodiscard]] const char* what() const noexcept override {
return exceptionCause.data();
}
public:
explicit Exception(const std::string_view& cause): exceptionCause(cause) {}
};
}
#endif