#ifndef OPENPOSE_UTILITIES_CHECK_HPP #define OPENPOSE_UTILITIES_CHECK_HPP #include namespace op { // CHECK, CHECK_EQ, CHECK_NE, CHECK_LE, CHECK_LT, CHECK_GE, and CHECK_GT template void checkBool( const bool condition, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (!condition) error("Check failed: " + tToString(message), line, function, file); } template void checkEqual( const T1& conditionA, const T2& conditionB, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (conditionA != conditionB) error("CheckE failed (" + tToString(conditionA) + " vs. " + tToString(conditionB) + "): " + tToString(message), line, function, file); } template void checkNotEqual( const T1& conditionA, const T2& conditionB, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (conditionA == conditionB) error("CheckNE failed (" + tToString(conditionA) + " vs. " + tToString(conditionB) + "): " + tToString(message), line, function, file); } template void checkLessOrEqual( const T1& conditionA, const T2& conditionB, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (conditionA > conditionB) error("CheckLE failed (" + tToString(conditionA) + " vs. " + tToString(conditionB) + "): " + tToString(message), line, function, file); } template void checkLessThan( const T1& conditionA, const T2& conditionB, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (conditionA >= conditionB) error("CheckLT failed (" + tToString(conditionA) + " vs. " + tToString(conditionB) + "): " + tToString(message), line, function, file); } template void checkGreaterOrEqual( const T1& conditionA, const T2& conditionB, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (conditionA < conditionB) error("CheckGE failed (" + tToString(conditionA) + " vs. " + tToString(conditionB) + "): " + tToString(message), line, function, file); } template void checkGreaterThan( const T1& conditionA, const T2& conditionB, const T& message = "", const int line = -1, const std::string& function = "", const std::string& file = "") { if (conditionA <= conditionB) error("CheckGT failed (" + tToString(conditionA) + " vs. " + tToString(conditionB) + "): " + tToString(message), line, function, file); } } #endif // OPENPOSE_UTILITIES_CHECK_HPP