YSTest: cassert.h 文件参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

命名空间 | 宏定义 | 函数
cassert.h 文件参考
YBaseLib » YStandardExtend

ISO C 断言/调试跟踪扩展。 更多...

`#include "../ydef.h"`
`#include <cstdio>`
`#include <cassert>`
cassert.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 命名空间

| ystdex
| `<memory>` 特性测试宏。

## 宏定义

#define | yassume(_expr) (assert(_expr), void())
| 假定：环境语义。 更多...
#define | yconstraint(_expr)
| 约束：接口语义。 更多...
#define | yverify(_expr)
| 验证：执行语义。 更多...
#define | YAssert(_expr, _msg) ((_expr) ? void(0) : ystdex::yassert(#_expr, __FILE__, __LINE__, _msg))
#define | YAssertNonnull(_expr) YAssert(bool(_expr), "Null reference found.")
#define | YTrace(_stream, _lv, _t, _msg, ...) ystdex::ytrace(_stream, _lv, _t, __FILE__, __LINE__, _msg, __VA_ARGS__)
| YCLib 扩展调试跟踪。 更多...

## 函数

void | ystdex::yassert (const char *, const char *, int, const char *)
| YBase 默认断言函数。 更多...
void | ystdex::ytrace (std::FILE *, std::uint8_t, std::uint8_t, const char *, int, const char *,...)
| YCLib 调试跟踪函数。 更多...

## 详细描述

ISO C 断言/调试跟踪扩展。

版本
  r285

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 432

创建时间:
  2013-07-27 04:11:53 +0800

修改时间:
  2020-03-02 14:42 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::CAssert

在文件 cassert.h 中定义.

## 宏定义说明

## ◆ YAssert

#define YAssert | ( |  | _expr,
|  |  | _msg
| ) |  | ((_expr) ? void(0) : ystdex::yassert(#_expr, __FILE__, __LINE__, _msg))

在文件 cassert.h 第 155 行定义.

## ◆ YAssertNonnull

#define YAssertNonnull | ( |  | _expr | ) | YAssert(bool(_expr), "Null reference found.")

自从
  build 495

在文件 cassert.h 第 166 行定义.

## ◆ yconstraint

#define yconstraint | ( |  | _expr | ) |

值:
((_expr) ? void() : ystdex::yassert(#_expr, __FILE__, __LINE__, \
"Constraint violation."))

约束：接口语义。

注解
  和普通断言相比强调接口契约。
  使用常量表达式在 ISO C++11 constexpr 模板中合式。

参见
  $2015-10 @ Documentation::Workflow.
  https://reviews.llvm.org/rL204776 。

可能在运行时检查的接口语义约束断言。 不满足此断言的行为是接口明确地未定义的，行为不可预测。

在文件 cassert.h 第 126 行定义.

## ◆ YTrace

#define YTrace | ( |  | _stream,
|  |  | _lv,
|  |  | _t,
|  |  | _msg,
|  |  | ...
| ) |  | ystdex::ytrace(_stream, _lv, _t, __FILE__, __LINE__, _msg, __VA_ARGS__)

YCLib 扩展调试跟踪。

自从
  build 432

注解
  使用自定义的调试跟踪级别。

参见
  ytrace

在文件 cassert.h 第 178 行定义.

## ◆ yverify

#define yverify | ( |  | _expr | ) |

值:
((_expr) ? void() : ystdex::yassert(#_expr, __FILE__, __LINE__, \
"Verification failure."))

验证：执行语义。

注解
  和普通断言相比强调执行中状态。

自从
  build 864

运行时检查的验证状态语义约束断言。 同标准库的宏 assert ，定义 NDEBUG 时表达式不被求值。

在文件 cassert.h 第 145 行定义.

ystdex::yassert
void yassert(const char *, const char *, int, const char *)
YBase 默认断言函数。
Definition: cassert.cpp:36