YSTest: ystdex::recent_used_list< _tKey, _tMapped, _tAlloc > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | 所有成员列表
ystdex::recent_used_list< _tKey, _tMapped, _tAlloc > 模板类 参考

使用双向链表实现的最近使用列表。 更多...

`#include <cache.hpp>`

类 ystdex::recent_used_list< _tKey, _tMapped, _tAlloc > 继承关系图:
[图例]
ystdex::recent_used_list< _tKey, _tMapped, _tAlloc > 的协作图:
[图例]

## Public 类型

using | allocator_type = _tAlloc
| 分配器类型。 更多...
using | value_type = std::pair< const _tKey, _tMapped >
using | list_type = std::list< value_type >
using | size_type = typename list_type::size_type
using | const_iterator = typename list_type::const_iterator
using | iterator = typename list_type::iterator

## Public 成员函数

template<typename... _tParams>
iterator | emplace (_tParams &&... args)
iterator | refresh (iterator i)
template<typename _tMap >
void | shrink (_tMap &m)
template<typename _tMap , typename _func >
void | shrink (_tMap &m, _func f)
template<typename _tMap , typename... _tParams>
void | shrink (_tMap &m, size_type max_use, _tParams &&... args)
void | undo_emplace ()

## 详细描述

### template<typename _tKey, typename _tMapped, class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>
class ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >

使用双向链表实现的最近使用列表。

自从
  build 611

注解
  保证移除项时的顺序为最远端先移除。

在文件 cache.hpp 第 50 行定义.

## 成员类型定义说明

## ◆ allocator_type

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

using ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::allocator_type = _tAlloc

分配器类型。

注解
  支持 uses-allocator 构造。

在文件 cache.hpp 第 57 行定义.

## ◆ const_iterator

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

using ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::const_iterator = typename list_type::const_iterator

在文件 cache.hpp 第 61 行定义.

## ◆ iterator

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

using ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::iterator = typename list_type::iterator

在文件 cache.hpp 第 62 行定义.

## ◆ list_type

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

using ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::list_type = std::list<value_type>

在文件 cache.hpp 第 59 行定义.

## ◆ size_type

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

using ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::size_type = typename list_type::size_type

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

## ◆ value_type

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

using ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::value_type = std::pair<const _tKey, _tMapped>

在文件 cache.hpp 第 58 行定义.

## 成员函数说明

## ◆ emplace()

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>
template<typename... _tParams>

iterator ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::emplace | ( | _tParams &&... | args | ) |

inline

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

引用了 CHRLib::args, ystdex::cpp2017::begin() , 以及 yforward.

函数调用图:

## ◆ refresh()

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

iterator ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::refresh | ( | iterator | i | ) |

inline

在文件 cache.hpp 第 87 行定义.

引用了 ystdex::cpp2017::begin() , 以及 YSLib::i.

函数调用图:

## ◆ shrink() [1/3]

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>
template<typename _tMap >

void ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::shrink | ( | _tMap & | m | ) |

inline

在文件 cache.hpp 第 95 行定义.

引用了 ystdex::cpp2017::empty() , 以及 yassume.

被这些函数引用 ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::shrink().

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

## ◆ shrink() [2/3]

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>
template<typename _tMap , typename _func >

void ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::shrink | ( | _tMap & | m,
|  | _func | f
| ) |  |

inline

在文件 cache.hpp 第 106 行定义.

引用了 ystdex::cpp2017::empty(), CHRLib::f() , 以及 yassume.

函数调用图:

## ◆ shrink() [3/3]

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>
template<typename _tMap , typename... _tParams>

void ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::shrink | ( | _tMap & | m,
|  | size_type | max_use,
|  | _tParams &&... | args
| ) |  |

inline

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

引用了 CHRLib::args, ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::shrink(), yassume , 以及 yforward.

函数调用图:

## ◆ undo_emplace()

template<typename _tKey , typename _tMapped , class _tAlloc = std::allocator<std::pair<const _tKey, _tMapped>>>

void ystdex::recent_used_list< _tKey, _tMapped, _tAlloc >::undo_emplace | ( |  | ) |

inline

在文件 cache.hpp 第 130 行定义.

引用了 ystdex::cpp2017::empty() , 以及 yassume.

函数调用图:

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

- cache.hpp