27 #include <string_view> 38 explicit LogMessage(std::string_view type) : fatal_(type ==
"FATAL") {
39 std::cerr << type <<
": ";
43 std::cerr << std::endl;
47 std::ostream &
stream() {
return std::cerr; }
53 #define LOG(type) LogMessage(#type).stream() 54 #define VLOG(level) if ((level) <= FST_FLAGS_v) LOG(INFO) 57 inline void FstCheck(
bool x, std::string_view expr, std::string_view file,
60 LOG(FATAL) <<
"Check failed: \"" << expr <<
"\" file: " << file
65 #define CHECK(x) FstCheck(static_cast<bool>(x), #x, __FILE__, __LINE__) 66 #define CHECK_EQ(x, y) CHECK((x) == (y)) 67 #define CHECK_LT(x, y) CHECK((x) < (y)) 68 #define CHECK_GT(x, y) CHECK((x) > (y)) 69 #define CHECK_LE(x, y) CHECK((x) <= (y)) 70 #define CHECK_GE(x, y) CHECK((x) >= (y)) 71 #define CHECK_NE(x, y) CHECK((x) != (y)) 74 #define DCHECK(x) assert(x) 75 #define DCHECK_EQ(x, y) DCHECK((x) == (y)) 76 #define DCHECK_LT(x, y) DCHECK((x) < (y)) 77 #define DCHECK_GT(x, y) DCHECK((x) > (y)) 78 #define DCHECK_LE(x, y) DCHECK((x) <= (y)) 79 #define DCHECK_GE(x, y) DCHECK((x) >= (y)) 80 #define DCHECK_NE(x, y) DCHECK((x) != (y))
LogMessage(std::string_view type)
void FstCheck(bool x, std::string_view expr, std::string_view file, int line)