YSTest: ystdex::nullptr_t类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | 友元 | 所有成员列表
ystdex::nullptr_t类 参考

空指针类。 更多...

`#include <ydef.h>`

## Public 成员函数

void | operator& () const =delete
| 禁止取 nullptr 的指针。 更多...
template<typename _type >
| operator _type * () const
| 转换任意类型至空非成员或静态成员指针。 更多...
template<class _tClass , typename _type >
| operator _type _tClass::* () const
| 转换任意类型至空非静态成员指针。 更多...

## 友元

template<typename _type >
bool | operator== (nullptr_t, const _type &y)
| 重载关系操作符。 更多...
template<typename _type >
bool | operator== (const _type &x, nullptr_t)
template<typename _type >
bool | operator!= (nullptr_t, const _type &y)
template<typename _type >
bool | operator!= (const _type &x, nullptr_t)

## 详细描述

空指针类。

参见
  https://en.wikibooks.org/wiki/More_C++_Idioms/nullptr 。

模拟 std::nullptr_t 。 和 std::nullptr_t 不同： 不保证是基本类型； 不保证大小和 void* 一致； 不支持标准库类型特征判断； 不支持使用整数 0 字面量（常量表达式）初始化（并可能因此存在更多的重载歧义）； 作为左值不支持 & 操作符。

在文件 ydef.h 第 1320 行定义.

## 成员函数说明

## ◆ operator _type *()

template<typename _type >

ystdex::nullptr_t::operator _type * | ( |  | ) | const

inline

转换任意类型至空非成员或静态成员指针。

在文件 ydef.h 第 1361 行定义.

## ◆ operator _type _tClass::*()

template<class _tClass , typename _type >

ystdex::nullptr_t::operator _type _tClass::* | ( |  | ) | const

inline

转换任意类型至空非静态成员指针。

在文件 ydef.h 第 1369 行定义.

## ◆ operator&()

void ystdex::nullptr_t::operator& | ( |  | ) | const

delete

禁止取 nullptr 的指针。

## 友元及相关函数文档

## ◆ operator!= [1/2]

template<typename _type >

bool operator!= | ( | const _type & | x,
|  | nullptr_t |
| ) |  |

friend

在文件 ydef.h 第 1352 行定义.

## ◆ operator!= [2/2]

template<typename _type >

bool operator!= | ( | nullptr_t | ,
|  | const _type & | y
| ) |  |

friend

在文件 ydef.h 第 1346 行定义.

## ◆ operator== [1/2]

template<typename _type >

bool operator== | ( | const _type & | x,
|  | nullptr_t |
| ) |  |

friend

在文件 ydef.h 第 1339 行定义.

## ◆ operator== [2/2]

template<typename _type >

bool operator== | ( | nullptr_t | ,
|  | const _type & | y
| ) |  |

friend

重载关系操作符。

自从
  build 884

在文件 ydef.h 第 1333 行定义.

该类的文档由以下文件生成:

- ydef.h