26 #include <string_view> 34 explicit LogMessage(std::string_view type) : fatal_(type ==
"FATAL") {
35 std::cerr << type <<
": ";
39 std::cerr << std::endl;
43 std::ostream &
stream() {
return std::cerr; }
49 #define LOG(type) LogMessage(#type).stream() 50 #define VLOG(level) if ((level) <= FST_FLAGS_v) LOG(INFO) 53 inline void FstCheck(
bool x, std::string_view expr, std::string_view file,
56 LOG(FATAL) <<
"Check failed: \"" << expr <<
"\" file: " << file
61 #define CHECK(x) FstCheck(static_cast<bool>(x), #x, __FILE__, __LINE__) 62 #define CHECK_EQ(x, y) CHECK((x) == (y)) 63 #define CHECK_LT(x, y) CHECK((x) < (y)) 64 #define CHECK_GT(x, y) CHECK((x) > (y)) 65 #define CHECK_LE(x, y) CHECK((x) <= (y)) 66 #define CHECK_GE(x, y) CHECK((x) >= (y)) 67 #define CHECK_NE(x, y) CHECK((x) != (y)) 70 #define DCHECK(x) assert(x) 71 #define DCHECK_EQ(x, y) DCHECK((x) == (y)) 72 #define DCHECK_LT(x, y) DCHECK((x) < (y)) 73 #define DCHECK_GT(x, y) DCHECK((x) > (y)) 74 #define DCHECK_LE(x, y) DCHECK((x) <= (y)) 75 #define DCHECK_GE(x, y) DCHECK((x) >= (y)) 76 #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)