diff --git a/contrib/epee/include/misc_log_ex.h b/contrib/epee/include/misc_log_ex.h index 318237c9..376af660 100644 --- a/contrib/epee/include/misc_log_ex.h +++ b/contrib/epee/include/misc_log_ex.h @@ -244,11 +244,6 @@ DISABLE_VS_WARNINGS(4100) #define CHECK_AND_ASSERT_MES_CUSTOM(expr, fail_ret_val, custom_code, message) do{if(!(expr)) {LOG_ERROR(message); custom_code; return fail_ret_val;};}while(0) #endif -/*#ifndef CHECK_AND_ASSERT_MES_AND_THROW -#define CHECK_AND_ASSERT_MES_AND_THROW(expr, message) do{if(!(expr)) {LOG_ERROR(message); throw std::runtime_error(message);};}while(0) -#endif -*/ - #ifndef CHECK_AND_NO_ASSERT_MES #define CHECK_AND_NO_ASSERT_MES(expr, fail_ret_val, message) do{if(!(expr)) {LOG_PRINT_MAGENTA(message, LOG_LEVEL_0); /*LOCAL_ASSERT(expr);*/ return fail_ret_val;};}while(0) #endif @@ -265,6 +260,22 @@ DISABLE_VS_WARNINGS(4100) #define CHECK_AND_ASSERT_MES2(expr, message) do{if(!(expr)) {LOG_ERROR(message); };}while(0) #endif +#ifndef CHECK_AND_ASSERT_EQ +#define CHECK_AND_ASSERT_EQ(A, B) CHECK_AND_ASSERT_MES((A) == (B), false, STR(A) " != " STR(B) " because " << A << " != " << B) +#endif + +#ifndef CHECK_AND_ASSERT_NEQ +#define CHECK_AND_ASSERT_NEQ(A, B) CHECK_AND_ASSERT_MES((A) != (B), false, STR(A) " == " STR(B) " because " << A << " == " << B) +#endif + +#ifndef CHECK_AND_ASSERT_LESS +#define CHECK_AND_ASSERT_LESS(A, B) CHECK_AND_ASSERT_MES((A) < (B), false, STR(A) " >= " STR(B) " because " << A << " >= " << B) +#endif + +#ifndef CHECK_AND_ASSERT_GREATER +#define CHECK_AND_ASSERT_GREATER(A, B) CHECK_AND_ASSERT_MES((A) > (B), false, STR(A) " <= " STR(B) " because " << A << " <= " << B) +#endif + namespace epee { namespace debug diff --git a/src/currency_core/currency_format_utils.cpp b/src/currency_core/currency_format_utils.cpp index 556f371e..2c8e5c2a 100644 --- a/src/currency_core/currency_format_utils.cpp +++ b/src/currency_core/currency_format_utils.cpp @@ -4463,6 +4463,11 @@ namespace currency return o << "<" << r.n << ":" << r.tx_id << ">"; } //-------------------------------------------------------------------------------- + std::ostream& operator <<(std::ostream& o, const std::type_info& ti) + { + return o << ti.name(); + } + //-------------------------------------------------------------------------------- #ifndef MOBILE_WALLET_BUILD const std::locale& utf8_get_conversion_locale() { diff --git a/src/currency_core/currency_format_utils.h b/src/currency_core/currency_format_utils.h index fd33a6b8..5c4ea929 100644 --- a/src/currency_core/currency_format_utils.h +++ b/src/currency_core/currency_format_utils.h @@ -945,6 +945,7 @@ namespace currency //--------------------------------------------------------------- //--------------------------------------------------------------- std::ostream& operator <<(std::ostream& o, const ref_by_id& r); + std::ostream& operator <<(std::ostream& o, const std::type_info& ti); //--------------------------------------------------------------- #ifndef MOBILE_WALLET_BUILD std::string utf8_to_upper(const std::string& s);