YSTest: ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits > 模板类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Public 属性 | Private 成员函数 | Private 属性 | 所有成员列表
ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits > 模板类 参考

按最近使用策略刷新的缓存。 更多...

`#include <cache.hpp>`

类 ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits > 继承关系图:
[图例]

## Public 类型

using | traits_type = _tTraits
using | map_type = typename traits_type::map_type
using | key_type = typename map_type::key_type
using | value_type = typename map_type::value_type
using | size_type = typename map_type::size_type
using | used_list_type = typename traits_type::used_list_type
using | used_cache_type = typename traits_type::used_cache_type
using | const_iterator = typename used_list_type::const_iterator
using | iterator = typename used_list_type::iterator

## Public 成员函数

| used_list_cache (size_type s=15U)
| used_list_cache (used_list_cache &&)=default
size_type | get_max_use () const
void | set_max_use (size_type s)
void | clear ()
template<typename... _tParams>
std::pair< iterator, bool > | emplace (const key_type &k, _tParams &&...args)
template<typename... _tParams>
std::pair< iterator, bool > | emplace (_tParams &&...args)
iterator | find (const key_type &k)
const_iterator | find (const key_type &k) const
size_type | size () const
iterator | begin ()
iterator | begin () const
iterator | end ()
iterator | end () const
const used_cache_type & | get () const
const used_list_type & | list () const

## Public 属性

std::function< void(value_type &)> | flush {}

## Private 成员函数

void | check_max_used ()

## Private 属性

size_type | max_use
| 保持可以再增加一个缓存项的最大容量。 更多...
used_list_type | used_list
used_cache_type | used_cache

## 详细描述

### template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>
class ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >

按最近使用策略刷新的缓存。

注解
  默认策略替换最近最少使用的项，保留其它项。

待办事项:

  加入异常安全的复制构造函数和复制赋值操作符。

  支持其它刷新策略。

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

## 成员类型定义说明

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::const_iterator = typename used_list_type::const_iterator

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::iterator = typename used_list_type::iterator

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::key_type = typename map_type::key_type

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::map_type = typename traits_type::map_type

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::size_type = typename map_type::size_type

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::traits_type = _tTraits

自从
  build 611

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::used_cache_type = typename traits_type::used_cache_type

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::used_list_type = typename traits_type::used_list_type

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

using ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::value_type = typename map_type::value_type

自从
  build 604

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

## 构造及析构函数说明

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::used_list_cache | ( | size_type | s = `15U` | ) |

inlineexplicit

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::used_list_cache | ( | used_list_cache< _tKey, _tMapped, _fHash, _tTraits > && |  | ) |

default

## 成员函数说明

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

iterator ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::begin | ( |  | ) |

inline

自从
  build 611

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

iterator ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::begin | ( |  | ) | const

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

void ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::check_max_used | ( |  | ) |

inlineprivate

自从
  build 595

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

参考自 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::emplace() , 以及 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::set_max_use().

这是这个函数的调用关系图:
template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

void ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::clear | ( |  | ) |

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>
template<typename... _tParams>

std::pair<iterator, bool> ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::emplace | ( | const key_type & | k,
|  | _tParams &&... | args
| ) |  |

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>
template<typename... _tParams>

std::pair<iterator, bool> ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::emplace | ( | _tParams &&... | args | ) |

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

iterator ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::end | ( |  | ) |

inline

自从
  build 611

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

参考自 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::find().

这是这个函数的调用关系图:
template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

iterator ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::end | ( |  | ) | const

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

iterator ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::find | ( | const key_type & | k | ) |

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

const_iterator ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::find | ( | const key_type & | k | ) | const

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

const used_cache_type& ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::get | ( |  | ) | const

inline

自从
  build 646

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

size_type ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::get_max_use | ( |  | ) | const

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

const used_list_type& ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::list | ( |  | ) | const

inline

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

void ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::set_max_use | ( | size_type | s | ) |

inline

自从
  build 595

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

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

size_type ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::size | ( |  | ) | const

inline

自从
  build 611

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

## 类成员变量说明

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

std::function<void(value_type&)> ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::flush {}

自从
  build 604

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

参考自 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::check_max_used().

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

size_type ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::max_use

private

保持可以再增加一个缓存项的最大容量。

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

参考自 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::get_max_use().

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

used_cache_type ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::used_cache

private

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

参考自 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::get().

template<typename _tKey, typename _tMapped, typename _fHash = void, typename _tTraits = used_list_cache_traits<_tKey, _tMapped, _fHash>>

used_list_type ystdex::used_list_cache< _tKey, _tMapped, _fHash, _tTraits >::used_list

mutableprivate

自从
  build 611

不变性
  `std::count(used_list.begin(), used_list.end()) == used_cache.size()` 。

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

参考自 ystdex::used_list_cache< CacheKey, shared_ptr< Image >, CacheHash >::list().

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

- cache.hpp