YSTest: ystdex::details::node_handle_base< _type, _tNodeAlloc > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

节点句柄基类。 更多...

`#include <tree.h>`

类 ystdex::details::node_handle_base< _type, _tNodeAlloc > 继承关系图:
[图例]
ystdex::details::node_handle_base< _type, _tNodeAlloc > 的协作图:
[图例]

## Public 类型

using | allocator_type = rebind_alloc_t< _tNodeAlloc, _type >

## Public 成员函数

| operator bool () const
allocator_type | get_allocator () const
bool | empty () const
void | move_assign (node_handle_base &nh, true_)
void | move_assign (false_)

## Protected 成员函数

| node_handle_base ()=default
| ~node_handle_base ()
| node_handle_base (node_handle_base &&nh)
| node_handle_base (typename node_ator_traits::pointer p, const _tNodeAlloc &a)
node_handle_base & | operator= (node_handle_base &&nh)
void | swap_base (node_handle_base &nh)

## Protected 属性

node_ator_traits::pointer | ptr {}

## Private 类型

using | node_ator_traits = allocator_traits< _tNodeAlloc >

## Private 成员函数

void | destroy ()

## Private 属性

optional< _tNodeAlloc > | alloc {}

## 友元

template<typename , typename , typename , typename , class >
class | tree

## 详细描述

### template<typename _type, class _tNodeAlloc>
class ystdex::details::node_handle_base< _type, _tNodeAlloc >

节点句柄基类。

警告
  非虚析构。

在文件 tree.h 第 78 行定义.

## 成员类型定义说明

## ◆ allocator_type

template<typename _type , class _tNodeAlloc >

using ystdex::details::node_handle_base< _type, _tNodeAlloc >::allocator_type = rebind_alloc_t<_tNodeAlloc, _type>

在文件 tree.h 第 84 行定义.

## ◆ node_ator_traits

template<typename _type , class _tNodeAlloc >

using ystdex::details::node_handle_base< _type, _tNodeAlloc >::node_ator_traits = allocator_traits<_tNodeAlloc>

private

自从
  build 864

在文件 tree.h 第 88 行定义.

## 构造及析构函数说明

## ◆ node_handle_base() [1/3]

template<typename _type , class _tNodeAlloc >

ystdex::details::node_handle_base< _type, _tNodeAlloc >::node_handle_base | ( |  | ) |

inlineprotecteddefault

## ◆ ~node_handle_base()

template<typename _type , class _tNodeAlloc >

ystdex::details::node_handle_base< _type, _tNodeAlloc >::~node_handle_base | ( |  | ) |

inlineprotected

在文件 tree.h 第 97 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::destroy().

函数调用图:

## ◆ node_handle_base() [2/3]

template<typename _type , class _tNodeAlloc >

ystdex::details::node_handle_base< _type, _tNodeAlloc >::node_handle_base | ( | node_handle_base< _type, _tNodeAlloc > && | nh | ) |

inlineprotected

在文件 tree.h 第 102 行定义.

## ◆ node_handle_base() [3/3]

template<typename _type , class _tNodeAlloc >

ystdex::details::node_handle_base< _type, _tNodeAlloc >::node_handle_base | ( | typename node_ator_traits::pointer | p,
|  | const _tNodeAlloc & | a
| ) |  |

inlineprotected

在文件 tree.h 第 108 行定义.

## 成员函数说明

## ◆ destroy()

template<typename _type , class _tNodeAlloc >

void ystdex::details::node_handle_base< _type, _tNodeAlloc >::destroy | ( |  | ) |

inlineprivate

在文件 tree.h 第 143 行定义.

引用了 YSLib::a, ystdex::details::node_handle_base< _type, _tNodeAlloc >::alloc, ystdex::any_ops::destroy , 以及 ystdex::details::node_handle_base< _type, _tNodeAlloc >::ptr.

被这些函数引用 ystdex::details::node_handle_base< _type, _tNodeAlloc >::operator=() , 以及 ystdex::details::node_handle_base< _type, _tNodeAlloc >::~node_handle_base().

这是这个函数的调用关系图:

## ◆ empty()

template<typename _type , class _tNodeAlloc >

bool ystdex::details::node_handle_base< _type, _tNodeAlloc >::empty | ( |  | ) | const

inline

在文件 tree.h 第 163 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::ptr.

被这些函数引用 ystdex::details::node_handle_base< _type, _tNodeAlloc >::get_allocator(), ystdex::details::node_handle< _tKey, _type, _tNodeAlloc >::key(), ystdex::details::node_handle< _tKey, _type, _tNodeAlloc >::mapped() , 以及 ystdex::details::node_handle< _type, _type, _tNodeAlloc >::value().

这是这个函数的调用关系图:

## ◆ get_allocator()

template<typename _type , class _tNodeAlloc >

allocator_type ystdex::details::node_handle_base< _type, _tNodeAlloc >::get_allocator | ( |  | ) | const

inline

在文件 tree.h 第 156 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::alloc, ystdex::details::node_handle_base< _type, _tNodeAlloc >::empty() , 以及 yconstraint.

函数调用图:

## ◆ move_assign() [1/2]

template<typename _type , class _tNodeAlloc >

void ystdex::details::node_handle_base< _type, _tNodeAlloc >::move_assign | ( | false_ |  | ) |

inline

在文件 tree.h 第 177 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::alloc , 以及 yassume.

## ◆ move_assign() [2/2]

template<typename _type , class _tNodeAlloc >

void ystdex::details::node_handle_base< _type, _tNodeAlloc >::move_assign | ( | node_handle_base< _type, _tNodeAlloc > & | nh,
|  | true_ |
| ) |  |

inline

在文件 tree.h 第 169 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::alloc , 以及 YAssert.

被这些函数引用 ystdex::details::node_handle_base< _type, _tNodeAlloc >::operator=().

这是这个函数的调用关系图:

## ◆ operator bool()

template<typename _type , class _tNodeAlloc >

ystdex::details::node_handle_base< _type, _tNodeAlloc >::operator bool | ( |  | ) | const

inlineexplicit

在文件 tree.h 第 124 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::ptr.

## ◆ operator=()

template<typename _type , class _tNodeAlloc >

node_handle_base& ystdex::details::node_handle_base< _type, _tNodeAlloc >::operator= | ( | node_handle_base< _type, _tNodeAlloc > && | nh | ) |

inlineprotected

在文件 tree.h 第 113 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::destroy(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::move_assign(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::ptr , 以及 yunseq.

函数调用图:

## ◆ swap_base()

template<typename _type , class _tNodeAlloc >

void ystdex::details::node_handle_base< _type, _tNodeAlloc >::swap_base | ( | node_handle_base< _type, _tNodeAlloc > & | nh | ) |

inlineprotected

在文件 tree.h 第 131 行定义.

引用了 ystdex::details::node_handle_base< _type, _tNodeAlloc >::alloc, ystdex::details::node_handle_base< _type, _tNodeAlloc >::ptr, ystdex::cpp2017::optional< _type >::swap(), ystdex::swap_dependent() , 以及 YAssert.

被这些函数引用 ystdex::details::node_handle< _tKey, _type, _tNodeAlloc >::swap().

函数调用图:
这是这个函数的调用关系图:

## 友元及相关函数文档

## ◆ tree

template<typename _type , class _tNodeAlloc >
template<typename , typename , typename , typename , class >

friend class tree

friend

在文件 tree.h 第 81 行定义.

## 类成员变量说明

## ◆ alloc

template<typename _type , class _tNodeAlloc >

optional<_tNodeAlloc> ystdex::details::node_handle_base< _type, _tNodeAlloc >::alloc {}

private

在文件 tree.h 第 90 行定义.

被这些函数引用 ystdex::details::node_handle_base< _type, _tNodeAlloc >::destroy(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::get_allocator(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::move_assign() , 以及 ystdex::details::node_handle_base< _type, _tNodeAlloc >::swap_base().

## ◆ ptr

template<typename _type , class _tNodeAlloc >

node_ator_traits::pointer ystdex::details::node_handle_base< _type, _tNodeAlloc >::ptr {}

protected

在文件 tree.h 第 93 行定义.

被这些函数引用 ystdex::details::node_handle_base< _type, _tNodeAlloc >::destroy(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::empty(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::operator bool(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::operator=(), ystdex::details::node_handle_base< _type, _tNodeAlloc >::swap_base() , 以及 ystdex::details::node_handle< _type, _type, _tNodeAlloc >::value().

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

- tree.h