  | 
  
    XFusion API v1.3.0
    
   | 
 
 
 
 
浏览该文件的文档.
   17#include "../xf_common/xf_common.h" 
   18#include "../xf_utils_log/xf_utils_log.h" 
   60#if XF_CHECK_IS_ENABLE || XF_ASSERT_IS_ENABLE 
   69#   define XF_CHECK_ACTION_RETURN(condition, retval, action) \ 
   72                do {action} while (0); \ 
 
   77#   define XF_CHECK_ACTION_RETURN(condition, retval, action) 
   80#if XF_CHECK_IS_ENABLE || XF_ASSERT_IS_ENABLE 
   88#   define XF_CHECK_ACTION_GOTO(condition, label, action) \ 
   91                do {action} while (0); \ 
 
   96#   define XF_CHECK_ACTION_GOTO(condition, retval, action) 
  112#   define XF_CHECK(condition, retval, tag, format, ...) \ 
  113        XF_CHECK_ACTION_RETURN( \ 
  114            !!(condition), retval, \ 
  115            XF_LOGE((tag), format, ##__VA_ARGS__); \ 
 
  127#   define XF_CHECK_GOTO(condition, label, tag, format, ...) \ 
  128        XF_CHECK_ACTION_GOTO( \ 
  129            !!(condition), label, \ 
  130            XF_LOGE((tag), format, ##__VA_ARGS__); \ 
 
  133#   define XF_CHECK(condition, retval, tag, format, ...)       do { (void)tag; } while (0) 
  134#   define XF_CHECK_GOTO(condition, label, tag, format, ...)   do { (void)tag; } while (0) 
  137#if XF_ASSERT_IS_ENABLE 
  150#   define XF_ASSERT(condition, retval, tag, format, ...) \ 
  151        XF_CHECK_ACTION_RETURN( \ 
  152            !(condition), retval, \ 
  153            XF_LOGE((tag), format, ##__VA_ARGS__); \ 
 
  165#   define XF_ASSERT_GOTO(condition, label, tag, format, ...) \ 
  166        XF_CHECK_ACTION_GOTO( \ 
  167            !(condition), label, \ 
  168            XF_LOGE((tag), format, ##__VA_ARGS__); \ 
 
  171#   define XF_ASSERT(condition, retval, tag, format, ...)      do { (void)tag; } while (0) 
  172#   define XF_ASSERT_GOTO(condition, label, tag, format, ...)  do { (void)tag; } while (0) 
  175#if XF_ERROR_CHECK_IS_ENABLE 
  182#   define XF_ERROR_CHECK(expression) \ 
  184            xf_err_t __err = (expression); \ 
  185            if (unlikely((__err) != XF_OK)) { \ 
  186                XF_LOGE("xf_check", "An error occurred: " XSTR(expression != XF_OK)); \ 
  187                XF_CHECK_ERROR_HANDLER \ 
 
  191#   define XF_ERROR_CHECK(expression)