YSTest: ystdex::list< _type, _tAlloc > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Private 类型 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
ystdex::list< _type, _tAlloc > 模板类 参考
YBase Replacement features

列表容器。 更多...

`#include <list.hpp>`

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

## Public 类型

using | value_type = _type
using | allocator_type = _tAlloc
using | pointer = typename ator_traits::pointer
using | const_pointer = typename ator_traits::const_pointer
using | reference = value_type &
using | const_reference = const value_type &
using | size_type = typename rep_type::size_type
using | difference_type = typename rep_type::difference_type
using | iterator = typename rep_type::iterator
using | const_iterator = typename rep_type::const_iterator
using | reverse_iterator = ystdex::reverse_iterator< iterator >
using | const_reverse_iterator = ystdex::reverse_iterator< const_iterator >

## Public 成员函数

| list ()=default
| list (const allocator_type &a)
| list (size_type n, const allocator_type &a=allocator_type())
| list (size_type n, const value_type &value, const allocator_type &a=allocator_type())
template<typename _tIn , typename = enable_for_input_iterator_t<_tIn>>
| list (_tIn first, _tIn last, const allocator_type &a=allocator_type())
| list (std::initializer_list< value_type > il, const allocator_type &a=allocator_type())
| list (const list &)=default
| list (const list &x, const allocator_type &a)
| list (list &&)=default
| list (list &&x, const allocator_type &a)
| ~list ()=default
list & | operator= (const list &)=default
list & | operator= (list &&)=default
list & | operator= (std::initializer_list< value_type > il)
void | assign (size_type n, const value_type &val)
template<typename _tIn , typename = enable_for_input_iterator_t<_tIn>>
void | assign (_tIn first, _tIn last)
void | assign (std::initializer_list< value_type > il)
allocator_type | get_allocator () const
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
reverse_iterator | rbegin ()
const_reverse_iterator | rbegin () const
reverse_iterator | rend ()
const_reverse_iterator | rend () const
const_iterator | cbegin () const
const_iterator | cend () const
const_reverse_iterator | crbegin () const
const_reverse_iterator | crend () const
bool | empty () const
size_type | size () const
size_type | max_size () const
void | resize (size_type sz)
void | resize (size_type sz, const value_type &x)
reference | front ()
const_reference | front () const
reference | back ()
const_reference | back () const
template<typename... _tParams>
reference | emplace_front (_tParams &&... args)
template<typename... _tParams>
reference | emplace_back (_tParams &&... args)
void | push_front (const value_type &x)
void | push_front (value_type &&x)
void | pop_front ()
void | push_back (const value_type &x)
void | push_back (value_type &&x)
void | pop_back ()
template<typename... _tParams>
iterator | emplace (const_iterator position, _tParams &&... args)
iterator | insert (const_iterator position, const value_type &x)
iterator | insert (const_iterator position, value_type &&x)
iterator | insert (const_iterator p, std::initializer_list< value_type > il)
iterator | insert (const_iterator position, size_type n, const value_type &x)
template<typename _tIn , typename = enable_for_input_iterator_t<_tIn>>
iterator | insert (const_iterator position, _tIn first, _tIn last)
iterator | erase (const_iterator position)
iterator | erase (const_iterator first, const_iterator last)
void | swap (list &x)
void | clear ()
void | splice (const_iterator position, list &x)
void | splice (const_iterator position, list &&x)
void | splice (const_iterator position, list &x, const_iterator i)
void | splice (const_iterator position, list &&x, const_iterator i)
void | splice (const_iterator position, list &x, const_iterator first, const_iterator last)
void | splice (const_iterator position, list &&x, const_iterator first, const_iterator last)
size_type | remove (const _type &value)
template<typename _fPred >
size_type | remove_if (_fPred pred)
size_type | unique ()
template<typename _fBiPred >
size_type | unique (_fBiPred binary_pred)
void | merge (list &x)
void | merge (list &&x)
template<typename _fComp >
void | merge (list &x, _fComp comp)
template<typename _fComp >
void | merge (list &&x, _fComp comp)
void | sort ()
template<typename _fComp >
void | sort (_fComp comp)
void | reverse ()

## Private 类型

using | ator_traits = allocator_traits< allocator_type >
using | rep_type = details::list_rep< _type, _tAlloc >

## Private 成员函数

void | init_fill (size_type n, const value_type &x)
template<typename _tIn >
void | init_range (_tIn first, _tIn last)
void | assign_fill (size_type n, const value_type &val)

## Private 属性

rep_type | rep

## 友元

void | swap (list< _type, _tAlloc > &x, list< _type, _tAlloc > &y)
bool | operator== (const list &x, const list &y)
bool | operator< (const list &x, const list &y)

## 详细描述

### template<typename _type, class _tAlloc = std::allocator<_type>>
class ystdex::list< _type, _tAlloc >

列表容器。

注解
  和 ISO C++ 的 std::list 类似，但支持不完整类型。

警告
  非虚析构。

参见
  Documentation::YBase @2.1.4.1 。
  Documentation::YBase @2.1.4.2 。
  ISO C++17 [list.overview]/3 。
  WG21 N4371

自从
  build 866

类似 ISO C++17 的 std::list 的容器，包括不完整类型作为值类型。 部分成员提供较 ISO C++17 更强的 noexcept 异常规范，除转移赋值略有不同。

在文件 list.hpp 第 1050 行定义.

## 成员类型定义说明

## ◆ allocator_type

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::allocator_type = _tAlloc

参见
  ISO C++17 [allocator.requirements] 。
  ISO C++17 [container.requirements.general]/15 。
  LWG 274 。
  LWG 2447 。

在文件 list.hpp 第 1064 行定义.

## ◆ ator_traits

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::ator_traits = allocator_traits<allocator_type>

private

在文件 list.hpp 第 1067 行定义.

## ◆ const_iterator

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::const_iterator = typename rep_type::const_iterator

在文件 list.hpp 第 1082 行定义.

## ◆ const_pointer

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::const_pointer = typename ator_traits::const_pointer

在文件 list.hpp 第 1072 行定义.

## ◆ const_reference

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::const_reference = const value_type&

在文件 list.hpp 第 1074 行定义.

## ◆ const_reverse_iterator

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::const_reverse_iterator = ystdex::reverse_iterator<const_iterator>

在文件 list.hpp 第 1085 行定义.

## ◆ difference_type

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::difference_type = typename rep_type::difference_type

注解
  实现定义：等价 std::ptrdiff_t 的类型。

在文件 list.hpp 第 1078 行定义.

## ◆ iterator

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::iterator = typename rep_type::iterator

注解
  实现定义：符合要求的未指定类型。

在文件 list.hpp 第 1081 行定义.

## ◆ pointer

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::pointer = typename ator_traits::pointer

在文件 list.hpp 第 1071 行定义.

## ◆ reference

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::reference = value_type&

在文件 list.hpp 第 1073 行定义.

## ◆ rep_type

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::rep_type = details::list_rep<_type, _tAlloc>

private

在文件 list.hpp 第 1068 行定义.

## ◆ reverse_iterator

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::reverse_iterator = ystdex::reverse_iterator<iterator>

在文件 list.hpp 第 1084 行定义.

## ◆ size_type

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::size_type = typename rep_type::size_type

注解
  实现定义：等价于 std::size_t 的类型。

在文件 list.hpp 第 1076 行定义.

## ◆ value_type

template<typename _type , class _tAlloc = std::allocator<_type>>

using ystdex::list< _type, _tAlloc >::value_type = _type

在文件 list.hpp 第 1053 行定义.

## 构造及析构函数说明

## ◆ list() [1/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( |  | ) |

default

## ◆ list() [2/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | const allocator_type & | a | ) |

inlineexplicit

在文件 list.hpp 第 1093 行定义.

## ◆ list() [3/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | size_type | n,
|  | const allocator_type & | a = `allocator_type()`
| ) |  |

inlineexplicit

在文件 list.hpp 第 1097 行定义.

## ◆ list() [4/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | size_type | n,
|  | const value_type & | value,
|  | const allocator_type & | a = `allocator_type()`
| ) |  |

inline

在文件 list.hpp 第 1103 行定义.

## ◆ list() [5/10]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _tIn , typename = enable_for_input_iterator_t<_tIn>>

ystdex::list< _type, _tAlloc >::list | ( | _tIn | first,
|  | _tIn | last,
|  | const allocator_type & | a = `allocator_type()`
| ) |  |

inline

参见
  ISO C++17 [sequences.reqmts]/13 。
  LWG 438 。
  LWG 1234 。

在文件 list.hpp 第 1118 行定义.

## ◆ list() [6/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | std::initializer_list< value_type > | il,
|  | const allocator_type & | a = `allocator_type()`
| ) |  |

inline

在文件 list.hpp 第 1123 行定义.

## ◆ list() [7/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | const list< _type, _tAlloc > & |  | ) |

default

## ◆ list() [8/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | const list< _type, _tAlloc > & | x,
|  | const allocator_type & | a
| ) |  |

inline

在文件 list.hpp 第 1130 行定义.

## ◆ list() [9/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | list< _type, _tAlloc > && |  | ) |

default

## ◆ list() [10/10]

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::list | ( | list< _type, _tAlloc > && | x,
|  | const allocator_type & | a
| ) |  |

inline

在文件 list.hpp 第 1142 行定义.

## ◆ ~list()

template<typename _type , class _tAlloc = std::allocator<_type>>

ystdex::list< _type, _tAlloc >::~list | ( |  | ) |

default

## 成员函数说明

## ◆ assign() [1/3]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _tIn , typename = enable_for_input_iterator_t<_tIn>>

void ystdex::list< _type, _tAlloc >::assign | ( | _tIn | first,
|  | _tIn | last
| ) |  |

inline

参见
  ISO C++17 [sequences.reqmts]/13 。
  LWG 438 。
  LWG 1234 。

在文件 list.hpp 第 1214 行定义.

## ◆ assign() [2/3]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::assign | ( | size_type | n,
|  | const value_type & | val
| ) |  |

inline

在文件 list.hpp 第 1203 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::operator=().

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

## ◆ assign() [3/3]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::assign | ( | std::initializer_list< value_type > | il | ) |

inline

在文件 list.hpp 第 1219 行定义.

## ◆ assign_fill()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::assign_fill | ( | size_type | n,
|  | const value_type & | val
| ) |  |

inlineprivate

在文件 list.hpp 第 1190 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign().

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

## ◆ back() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

reference ystdex::list< _type, _tAlloc >::back | ( |  | ) |

inline

在文件 list.hpp 第 1349 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace_back().

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

## ◆ back() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

const_reference ystdex::list< _type, _tAlloc >::back | ( |  | ) | const

inline

在文件 list.hpp 第 1357 行定义.

## ◆ begin() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::begin | ( |  | ) |

inline

在文件 list.hpp 第 1231 行定义.

被这些函数引用 ystdex::pmr::resource_pool::allocate(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign_fill(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::cbegin(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::crend(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace_front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::pop_front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::push_front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::rend() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::sort().

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

## ◆ begin() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

const_iterator ystdex::list< _type, _tAlloc >::begin | ( |  | ) | const

inline

在文件 list.hpp 第 1236 行定义.

## ◆ cbegin()

template<typename _type , class _tAlloc = std::allocator<_type>>

const_iterator ystdex::list< _type, _tAlloc >::cbegin | ( |  | ) | const

inline

在文件 list.hpp 第 1275 行定义.

## ◆ cend()

template<typename _type , class _tAlloc = std::allocator<_type>>

const_iterator ystdex::list< _type, _tAlloc >::cend | ( |  | ) | const

inline

在文件 list.hpp 第 1281 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::back().

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

## ◆ clear()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::clear | ( |  | ) |

inline

在文件 list.hpp 第 1496 行定义.

被这些函数引用 ystdex::pmr::resource_pool::clear().

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

## ◆ crbegin()

template<typename _type , class _tAlloc = std::allocator<_type>>

const_reverse_iterator ystdex::list< _type, _tAlloc >::crbegin | ( |  | ) | const

inline

在文件 list.hpp 第 1287 行定义.

## ◆ crend()

template<typename _type , class _tAlloc = std::allocator<_type>>

const_reverse_iterator ystdex::list< _type, _tAlloc >::crend | ( |  | ) | const

inline

在文件 list.hpp 第 1293 行定义.

## ◆ emplace()

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename... _tParams>

iterator ystdex::list< _type, _tAlloc >::emplace | ( | const_iterator | position,
|  | _tParams &&... | args
| ) |  |

inline

在文件 list.hpp 第 1420 行定义.

## ◆ emplace_back()

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename... _tParams>

reference ystdex::list< _type, _tAlloc >::emplace_back | ( | _tParams &&... | args | ) |

inline

参见
  WG21 P0084R2 。

在文件 list.hpp 第 1377 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::list().

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

## ◆ emplace_front()

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename... _tParams>

reference ystdex::list< _type, _tAlloc >::emplace_front | ( | _tParams &&... | args | ) |

inline

参见
  WG21 P0084R2 。

在文件 list.hpp 第 1368 行定义.

被这些函数引用 ystdex::pmr::resource_pool::allocate().

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

## ◆ empty()

template<typename _type , class _tAlloc = std::allocator<_type>>

bool ystdex::list< _type, _tAlloc >::empty | ( |  | ) | const

inline

在文件 list.hpp 第 1299 行定义.

被这些函数引用 ystdex::pmr::resource_pool::allocate() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::pop_front().

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

## ◆ end() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::end | ( |  | ) |

inline

在文件 list.hpp 第 1242 行定义.

被这些函数引用 ystdex::pmr::resource_pool::allocate(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign_fill(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::cend(), ystdex::pmr::resource_pool::clear(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::crbegin(), NPL::DelimitedByteParser::DecomposeString(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace_back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::push_back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::rbegin(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::resize() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::sort().

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

## ◆ end() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

const_iterator ystdex::list< _type, _tAlloc >::end | ( |  | ) | const

inline

在文件 list.hpp 第 1247 行定义.

## ◆ erase() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::erase | ( | const_iterator | first,
|  | const_iterator | last
| ) |  |

inline

在文件 list.hpp 第 1472 行定义.

## ◆ erase() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::erase | ( | const_iterator | position | ) |

inline

在文件 list.hpp 第 1467 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign_fill() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::resize().

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

## ◆ front() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

reference ystdex::list< _type, _tAlloc >::front | ( |  | ) |

inline

在文件 list.hpp 第 1338 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace_front().

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

## ◆ front() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

const_reference ystdex::list< _type, _tAlloc >::front | ( |  | ) | const

inline

在文件 list.hpp 第 1343 行定义.

## ◆ get_allocator()

template<typename _type , class _tAlloc = std::allocator<_type>>

allocator_type ystdex::list< _type, _tAlloc >::get_allocator | ( |  | ) | const

inline

在文件 list.hpp 第 1225 行定义.

被这些函数引用 NPL::DelimitedByteParser::DecomposeString(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert() , 以及 ystdex::pmr::resource_pool::upstream().

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

## ◆ init_fill()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::init_fill | ( | size_type | n,
|  | const value_type & | x
| ) |  |

inlineprivate

在文件 list.hpp 第 1171 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::list().

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

## ◆ init_range()

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _tIn >

void ystdex::list< _type, _tAlloc >::init_range | ( | _tIn | first,
|  | _tIn | last
| ) |  |

inlineprivate

参见
  ISO C++17 [sequences.reqmts]/13 。
  LWG 438 。
  LWG 1234 。

在文件 list.hpp 第 1184 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::list().

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

## ◆ insert() [1/5]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::insert | ( | const_iterator | p,
|  | std::initializer_list< value_type > | il
| ) |  |

inline

在文件 list.hpp 第 1436 行定义.

## ◆ insert() [2/5]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _tIn , typename = enable_for_input_iterator_t<_tIn>>

iterator ystdex::list< _type, _tAlloc >::insert | ( | const_iterator | position,
|  | _tIn | first,
|  | _tIn | last
| ) |  |

inline

参见
  ISO C++17 [sequences.reqmts]/13 。
  LWG 438 。
  LWG 1234 。

在文件 list.hpp 第 1461 行定义.

## ◆ insert() [3/5]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::insert | ( | const_iterator | position,
|  | const value_type & | x
| ) |  |

inline

在文件 list.hpp 第 1426 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign_fill(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::resize().

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

## ◆ insert() [4/5]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::insert | ( | const_iterator | position,
|  | size_type | n,
|  | const value_type & | x
| ) |  |

inline

在文件 list.hpp 第 1441 行定义.

## ◆ insert() [5/5]

template<typename _type , class _tAlloc = std::allocator<_type>>

iterator ystdex::list< _type, _tAlloc >::insert | ( | const_iterator | position,
|  | value_type && | x
| ) |  |

inline

在文件 list.hpp 第 1431 行定义.

## ◆ max_size()

template<typename _type , class _tAlloc = std::allocator<_type>>

size_type ystdex::list< _type, _tAlloc >::max_size | ( |  | ) | const

inline

在文件 list.hpp 第 1311 行定义.

## ◆ merge() [1/4]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::merge | ( | list< _type, _tAlloc > && | x | ) |

inline

在文件 list.hpp 第 1568 行定义.

## ◆ merge() [2/4]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _fComp >

void ystdex::list< _type, _tAlloc >::merge | ( | list< _type, _tAlloc > && | x,
|  | _fComp | comp
| ) |  |

inline

在文件 list.hpp 第 1581 行定义.

## ◆ merge() [3/4]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::merge | ( | list< _type, _tAlloc > & | x | ) |

inline

在文件 list.hpp 第 1563 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::merge().

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

## ◆ merge() [4/4]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _fComp >

void ystdex::list< _type, _tAlloc >::merge | ( | list< _type, _tAlloc > & | x,
|  | _fComp | comp
| ) |  |

inline

参见
  LWG 300 。

在文件 list.hpp 第 1575 行定义.

## ◆ operator=() [1/3]

template<typename _type , class _tAlloc = std::allocator<_type>>

list& ystdex::list< _type, _tAlloc >::operator= | ( | const list< _type, _tAlloc > & |  | ) |

default

## ◆ operator=() [2/3]

template<typename _type , class _tAlloc = std::allocator<_type>>

list& ystdex::list< _type, _tAlloc >::operator= | ( | list< _type, _tAlloc > && |  | ) |

default

## ◆ operator=() [3/3]

template<typename _type , class _tAlloc = std::allocator<_type>>

list& ystdex::list< _type, _tAlloc >::operator= | ( | std::initializer_list< value_type > | il | ) |

inline

在文件 list.hpp 第 1163 行定义.

## ◆ pop_back()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::pop_back | ( |  | ) |

inline

在文件 list.hpp 第 1413 行定义.

## ◆ pop_front()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::pop_front | ( |  | ) |

inline

在文件 list.hpp 第 1395 行定义.

## ◆ push_back() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::push_back | ( | const value_type & | x | ) |

inline

在文件 list.hpp 第 1402 行定义.

被这些函数引用 NPL::DelimitedByteParser::DecomposeString() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::init_fill().

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

## ◆ push_back() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::push_back | ( | value_type && | x | ) |

inline

在文件 list.hpp 第 1407 行定义.

## ◆ push_front() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::push_front | ( | const value_type & | x | ) |

inline

在文件 list.hpp 第 1384 行定义.

## ◆ push_front() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::push_front | ( | value_type && | x | ) |

inline

在文件 list.hpp 第 1389 行定义.

## ◆ rbegin() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

reverse_iterator ystdex::list< _type, _tAlloc >::rbegin | ( |  | ) |

inline

在文件 list.hpp 第 1253 行定义.

## ◆ rbegin() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

const_reverse_iterator ystdex::list< _type, _tAlloc >::rbegin | ( |  | ) | const

inline

在文件 list.hpp 第 1258 行定义.

## ◆ remove()

template<typename _type , class _tAlloc = std::allocator<_type>>

size_type ystdex::list< _type, _tAlloc >::remove | ( | const _type & | value | ) |

inline

参见
  LWG 526 。

在文件 list.hpp 第 1537 行定义.

## ◆ remove_if()

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _fPred >

size_type ystdex::list< _type, _tAlloc >::remove_if | ( | _fPred | pred | ) |

inline

在文件 list.hpp 第 1544 行定义.

## ◆ rend() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

reverse_iterator ystdex::list< _type, _tAlloc >::rend | ( |  | ) |

inline

在文件 list.hpp 第 1264 行定义.

## ◆ rend() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

const_reverse_iterator ystdex::list< _type, _tAlloc >::rend | ( |  | ) | const

inline

在文件 list.hpp 第 1269 行定义.

## ◆ resize() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::resize | ( | size_type | sz | ) |

inline

在文件 list.hpp 第 1317 行定义.

## ◆ resize() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::resize | ( | size_type | sz,
|  | const value_type & | x
| ) |  |

inline

在文件 list.hpp 第 1327 行定义.

## ◆ reverse()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::reverse | ( |  | ) |

inline

在文件 list.hpp 第 1599 行定义.

## ◆ size()

template<typename _type , class _tAlloc = std::allocator<_type>>

size_type ystdex::list< _type, _tAlloc >::size | ( |  | ) | const

inline

在文件 list.hpp 第 1305 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::sort().

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

## ◆ sort() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::sort | ( |  | ) |

inline

在文件 list.hpp 第 1587 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::sort().

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

## ◆ sort() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _fComp >

void ystdex::list< _type, _tAlloc >::sort | ( | _fComp | comp | ) |

inline

在文件 list.hpp 第 1593 行定义.

## ◆ splice() [1/6]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::splice | ( | const_iterator | position,
|  | list< _type, _tAlloc > && | x
| ) |  |

inline

在文件 list.hpp 第 1507 行定义.

## ◆ splice() [2/6]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::splice | ( | const_iterator | position,
|  | list< _type, _tAlloc > && | x,
|  | const_iterator | first,
|  | const_iterator | last
| ) |  |

inline

在文件 list.hpp 第 1528 行定义.

## ◆ splice() [3/6]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::splice | ( | const_iterator | position,
|  | list< _type, _tAlloc > && | x,
|  | const_iterator | i
| ) |  |

inline

在文件 list.hpp 第 1517 行定义.

## ◆ splice() [4/6]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::splice | ( | const_iterator | position,
|  | list< _type, _tAlloc > & | x
| ) |  |

inline

在文件 list.hpp 第 1502 行定义.

被这些函数引用 NPL::DelimitedByteParser::DecomposeString(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::splice().

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

## ◆ splice() [5/6]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::splice | ( | const_iterator | position,
|  | list< _type, _tAlloc > & | x,
|  | const_iterator | first,
|  | const_iterator | last
| ) |  |

inline

在文件 list.hpp 第 1522 行定义.

## ◆ splice() [6/6]

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::splice | ( | const_iterator | position,
|  | list< _type, _tAlloc > & | x,
|  | const_iterator | i
| ) |  |

inline

在文件 list.hpp 第 1512 行定义.

## ◆ swap()

template<typename _type , class _tAlloc = std::allocator<_type>>

void ystdex::list< _type, _tAlloc >::swap | ( | list< _type, _tAlloc > & | x | ) |

inline

在文件 list.hpp 第 1484 行定义.

## ◆ unique() [1/2]

template<typename _type , class _tAlloc = std::allocator<_type>>

size_type ystdex::list< _type, _tAlloc >::unique | ( |  | ) |

inline

在文件 list.hpp 第 1550 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::unique().

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

## ◆ unique() [2/2]

template<typename _type , class _tAlloc = std::allocator<_type>>
template<typename _fBiPred >

size_type ystdex::list< _type, _tAlloc >::unique | ( | _fBiPred | binary_pred | ) |

inline

在文件 list.hpp 第 1556 行定义.

## 友元及相关函数文档

## ◆ operator<

template<typename _type , class _tAlloc = std::allocator<_type>>

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

friend

在文件 list.hpp 第 1611 行定义.

## ◆ operator==

template<typename _type , class _tAlloc = std::allocator<_type>>

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

friend

在文件 list.hpp 第 1605 行定义.

## ◆ swap

template<typename _type , class _tAlloc = std::allocator<_type>>

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

friend

在文件 list.hpp 第 1489 行定义.

## 类成员变量说明

## ◆ rep

template<typename _type , class _tAlloc = std::allocator<_type>>

rep_type ystdex::list< _type, _tAlloc >::rep

private

在文件 list.hpp 第 1088 行定义.

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::begin(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::clear(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace_back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::emplace_front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::empty(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::end(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::erase(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::get_allocator(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::init_range(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::max_size(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::merge(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::pop_back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::pop_front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::push_back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::push_front(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::remove(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::remove_if(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::resize(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::reverse(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::size(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::sort(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::splice(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::swap() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::unique().

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

- list.hpp