YSTest: ystdex::nptr< _type > 模板类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

Public 类型 | Public 成员函数 | Private 属性 | 友元 | 所有成员列表
ystdex::nptr< _type > 模板类 参考

可空指针包装：满足 `NullablePointer` 要求同时满足转移后为空。 更多...

`#include <pointer.hpp>`

类 ystdex::nptr< _type > 继承关系图:
[图例]
ystdex::nptr< _type > 的协作图:
[图例]

## Public 类型

using | pointer = _type

## Public 成员函数

| nptr ()=default
| nptr (const nptr &)=default
| nptr (nptr &&np)
nptr & | operator= (const nptr &)=default
nptr & | operator= (nptr &&np)
bool | operator! () const
pointer & | operator-> ()
const pointer & | operator-> () const
| operator bool () const
const pointer & | get () const
pointer & | get_ref ()
void | swap (nptr &np)
| nptr (std::nullptr_t)
| nptr (pointer p)
auto | operator* () -> decltype(*ptr)
auto | operator* () const -> decltype(*ptr)

## Private 属性

pointer | ptr {}

## 友元

bool | operator== (const nptr &x, const nptr &y)
bool | operator< (const nptr &x, const nptr &y)

## 相关函数

(请注意: 这些不是成员函数.)
template<typename _type >
void | swap (nptr< _type > &x, nptr< _type > &y)

## 详细描述

### template<typename _type>
class ystdex::nptr< _type >

可空指针包装：满足 `NullablePointer` 要求同时满足转移后为空。

自从
  build 560

模板参数

  _type | 被包装的指针。

前置条件
  _type 满足 `NullablePointer` 要求。

在文件 pointer.hpp 第 60 行定义.

## 成员类型定义说明

template<typename _type>

using ystdex::nptr< _type >::pointer = _type

自从
  build 630

在文件 pointer.hpp 第 71 行定义.

## 构造及析构函数说明

template<typename _type>

ystdex::nptr< _type >::nptr | ( |  | ) |

default

template<typename _type>

ystdex::nptr< _type >::nptr | ( | std::nullptr_t |  | ) |

inline

自从
  build 628

在文件 pointer.hpp 第 81 行定义.

template<typename _type>

ystdex::nptr< _type >::nptr | ( | pointer | p | ) |

inline

在文件 pointer.hpp 第 84 行定义.

template<typename _type>

ystdex::nptr< _type >::nptr | ( | const nptr< _type > & |  | ) |

default

template<typename _type>

ystdex::nptr< _type >::nptr | ( | nptr< _type > && | np | ) |

inline

在文件 pointer.hpp 第 89 行定义.

## 成员函数说明

template<typename _type>

const pointer& ystdex::nptr< _type >::get | ( |  | ) | const

inline

自从
  build 566

在文件 pointer.hpp 第 160 行定义.

参考 ystdex::nptr< _type >::ptr.

template<typename _type>

pointer& ystdex::nptr< _type >::get_ref | ( |  | ) |

inline

在文件 pointer.hpp 第 166 行定义.

参考 ystdex::nptr< _type >::ptr.

template<typename _type>

ystdex::nptr< _type >::operator bool | ( |  | ) | const

inlineexplicit

自从
  build 628

在文件 pointer.hpp 第 153 行定义.

参考 platform::bool , 以及 ystdex::nptr< _type >::ptr.

template<typename _type>

bool ystdex::nptr< _type >::operator! | ( |  | ) | const

inline

在文件 pointer.hpp 第 104 行定义.

参考 platform::bool.

template<typename _type>

auto ystdex::nptr< _type >::operator* | ( |  | ) | -> decltype(*ptr)

inline

自从
  build 613

前置条件
  表达式 `*ptr` 合式。

在文件 pointer.hpp 第 114 行定义.

参考 ystdex::nptr< _type >::ptr.

template<typename _type>

auto ystdex::nptr< _type >::operator* | ( |  | ) | const -> decltype(*ptr)

inline

在文件 pointer.hpp 第 119 行定义.

参考 ystdex::nptr< _type >::ptr.

template<typename _type>

pointer& ystdex::nptr< _type >::operator-> | ( |  | ) |

inline

在文件 pointer.hpp 第 126 行定义.

参考 ystdex::nptr< _type >::ptr.

template<typename _type>

const pointer& ystdex::nptr< _type >::operator-> | ( |  | ) | const

inline

在文件 pointer.hpp 第 131 行定义.

参考 ystdex::nptr< _type >::ptr.

template<typename _type>

nptr& ystdex::nptr< _type >::operator= | ( | const nptr< _type > & |  | ) |

default

template<typename _type>

nptr& ystdex::nptr< _type >::operator= | ( | nptr< _type > && | np | ) |

inline

在文件 pointer.hpp 第 97 行定义.

template<typename _type>

void ystdex::nptr< _type >::swap | ( | nptr< _type > & | np | ) |

inline

自从
  build 628

在文件 pointer.hpp 第 173 行定义.

参考 ystdex::nptr< _type >::ptr , 以及 ystdex::swap().

函数调用图:

## 友元及相关函数文档

template<typename _type>

bool operator< | ( | const nptr< _type > & | x,
|  | const nptr< _type > & | y
| ) |  |

friend

自从
  build 600

在文件 pointer.hpp 第 146 行定义.

template<typename _type>

bool operator== | ( | const nptr< _type > & | x,
|  | const nptr< _type > & | y
| ) |  |

friend

自从
  build 600

在文件 pointer.hpp 第 139 行定义.

template<typename _type >

void swap | ( | nptr< _type > & | x,
|  | nptr< _type > & | y
| ) |  |

related

自从
  build 563

在文件 pointer.hpp 第 187 行定义.

参考 NPL::x , 以及 YSLib::UI::y.

## 类成员变量说明

template<typename _type>

pointer ystdex::nptr< _type >::ptr {}

private

在文件 pointer.hpp 第 74 行定义.

参考自 ystdex::nptr< _type >::get(), ystdex::nptr< _type >::get_ref(), ystdex::nptr< _type >::operator bool(), ystdex::nptr< _type >::operator*(), ystdex::nptr< _type >::operator->() , 以及 ystdex::nptr< _type >::swap().

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

- pointer.hpp