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

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

列表表示类型模板。 更多...

`#include <list.hpp>`

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

## 类

struct | components
struct | node_remove

## Public 类型

using | size_type = size_t
using | difference_type = ptrdiff_t
using | allocator_type = _tAlloc
using | iterator = list_iterator< _type >
using | const_iterator = list_const_iterator< _type >
using | link_type = value_node *
using | const_link_type = const value_node *

## Public 成员函数

| list_rep ()=default
| list_rep (const allocator_type &a)
| list_rep (const list_rep &x)
| list_rep (list_rep &&)=default
| list_rep (list_rep &&x, const allocator_type &a)
| ~list_rep ()
list_rep & | operator= (const list_rep &x)
list_rep & | operator= (list_rep &&x)
template<typename _tIn >
void | init_range (_tIn first, _tIn last)
template<typename _tIn >
void | assign_range (_tIn first, _tIn last)
allocator_type | get_allocator () const
node_allocator & | get_node_allocator ()
const node_allocator & | get_node_allocator () const
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
bool | empty () const
size_type | size () const
size_type | max_size () const
const_iterator | resize_pos (size_type &sz) const
void | append_default (size_type n)
template<typename... _tParams>
void | insert_it (iterator position, _tParams &&... args)
template<typename _tIn >
iterator | insert_range (iterator position, _tIn first, _tIn last)
void | erase_it (iterator position)
iterator | erase_one (iterator position)
void | erase_range (iterator first, iterator last)
void | pop_back ()
template<typename... _tParams>
iterator | emplace (const_iterator position, _tParams &&... args)
void | clear ()
void | splice (iterator position, list_rep &x)
void | splice (iterator position, list_rep &x, const_iterator i)
void | splice (iterator position, list_rep &x, const_iterator first, const_iterator last)
size_type | remove (const _type &value)
template<typename _fPred >
size_type | remove_if (_fPred &pred)
template<typename _fBiPred >
size_type | unique (_fBiPred &binary_pred)
template<typename _fComp >
void | merge (list_rep &x, _fComp &comp)
template<typename _fComp >
iterator | sort (iterator first, iterator last, size_type n, _fComp &comp)
void | reverse ()

## Protected 类型

using | base_ptr = list_node_base *
using | const_base_ptr = const list_node_base *

## Protected 成员函数

void | move_nodes (list_rep &&x)
void | move_assign_elements (list_rep &x, false_)
| 转移赋值可能不相等的不在转移赋值时传播的分配器的容器元素。 更多...
void | move_assign_elements (list_rep &x, true_)
| 转移赋值相等或在转移赋值时传播的分配器的容器元素。 更多...
node_ator_traits::pointer | allocate_node ()
void | deallocate_node (typename node_ator_traits::pointer p)
template<typename... _tParams>
void | construct_node (link_type nd, _tParams &&... args)
template<typename... _tParams>
link_type | create_node (_tParams &&... args)
void | destroy_node (link_type nd)
void | drop_node (link_type nd)

## Protected 属性

components | objects

## Private 类型

using | value_node = list_node< _type >
using | node_allocator = rebind_alloc_t< _tAlloc, list_node< _type > >
using | node_ator_traits = allocator_traits< node_allocator >
using | equal_alloc_or_pocma = or_< typename node_ator_traits::is_always_equal, typename node_ator_traits::propagate_on_container_move_assignment >

## Private 成员函数

| list_rep (list_rep &&x, node_allocator a, true_)
| list_rep (list_rep &&x, node_allocator a, false_)
void | attach_node (link_type nd, base_ptr position)
link_type | detach_node (base_ptr cur)
void | clear_nodes ()
void | clear_nodes_from (base_ptr cur)
void | expects_same_allocators (list_rep &x)
void | expects_same_allocators (list_rep &x, false_)
void | expects_same_allocators (list_rep &, true_)
void | transfer_range (iterator position, iterator first, iterator last)
void | transfer_range (iterator position, const_iterator first, const_iterator last)
template<typename _func >
size_type | remove_for (_func f)

## 友元

void | swap (list_rep &x, list_rep &y)

## 详细描述

### template<typename _type, class _tAlloc>
class ystdex::details::list_rep< _type, _tAlloc >

列表表示类型模板。

不变性
  `std::distance(begin(), end()) == difference_type(objects.header.node_count)`

自从
  build 866

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

## 成员类型定义说明

## ◆ allocator_type

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::allocator_type = _tAlloc

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

## ◆ base_ptr

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::base_ptr = list_node_base*

protected

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

## ◆ const_base_ptr

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::const_base_ptr = const list_node_base*

protected

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

## ◆ const_iterator

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::const_iterator = list_const_iterator<_type>

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

## ◆ const_link_type

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::const_link_type = const value_node*

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

## ◆ difference_type

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::difference_type = ptrdiff_t

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

## ◆ equal_alloc_or_pocma

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::equal_alloc_or_pocma = or_<typename node_ator_traits::is_always_equal, typename node_ator_traits::propagate_on_container_move_assignment>

private

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

## ◆ iterator

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::iterator = list_iterator<_type>

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

## ◆ link_type

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::link_type = value_node*

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

## ◆ node_allocator

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::node_allocator = rebind_alloc_t<_tAlloc, list_node<_type> >

private

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

## ◆ node_ator_traits

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::node_ator_traits = allocator_traits<node_allocator>

private

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

## ◆ size_type

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::size_type = size_t

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

## ◆ value_node

template<typename _type , class _tAlloc >

using ystdex::details::list_rep< _type, _tAlloc >::value_node = list_node<_type>

private

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

## 构造及析构函数说明

## ◆ list_rep() [1/7]

template<typename _type , class _tAlloc >

ystdex::details::list_rep< _type, _tAlloc >::list_rep | ( |  | ) |

default

## ◆ list_rep() [2/7]

template<typename _type , class _tAlloc >

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

inline

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

## ◆ list_rep() [3/7]

template<typename _type , class _tAlloc >

ystdex::details::list_rep< _type, _tAlloc >::list_rep | ( | const list_rep< _type, _tAlloc > & | x | ) |

inline

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

## ◆ list_rep() [4/7]

template<typename _type , class _tAlloc >

ystdex::details::list_rep< _type, _tAlloc >::list_rep | ( | list_rep< _type, _tAlloc > && |  | ) |

default

## ◆ list_rep() [5/7]

template<typename _type , class _tAlloc >

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

inline

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

## ◆ list_rep() [6/7]

template<typename _type , class _tAlloc >

ystdex::details::list_rep< _type, _tAlloc >::list_rep | ( | list_rep< _type, _tAlloc > && | x,
|  | node_allocator | a,
|  | true_ |
| ) |  |

inlineprivate

自从
  build 867

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

## ◆ list_rep() [7/7]

template<typename _type , class _tAlloc >

ystdex::details::list_rep< _type, _tAlloc >::list_rep | ( | list_rep< _type, _tAlloc > && | x,
|  | node_allocator | a,
|  | false_ |
| ) |  |

inlineprivate

自从
  build 867

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

## ◆ ~list_rep()

template<typename _type , class _tAlloc >

ystdex::details::list_rep< _type, _tAlloc >::~list_rep | ( |  | ) |

inline

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

## 成员函数说明

## ◆ allocate_node()

template<typename _type , class _tAlloc >

node_ator_traits::pointer ystdex::details::list_rep< _type, _tAlloc >::allocate_node | ( |  | ) |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::create_node().

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

## ◆ append_default()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::append_default | ( | size_type | n | ) |

inline

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

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

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

## ◆ assign_range()

template<typename _type , class _tAlloc >
template<typename _tIn >

void ystdex::details::list_rep< _type, _tAlloc >::assign_range | ( | _tIn | first,
|  | _tIn | last
| ) |  |

inline

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

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::assign(), ystdex::details::list_rep< _type, std::allocator< _type > >::move_assign_elements() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::operator=().

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

## ◆ attach_node()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::attach_node | ( | link_type | nd,
|  | base_ptr | position
| ) |  |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::emplace() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::insert_it().

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

## ◆ begin() [1/2]

template<typename _type , class _tAlloc >

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

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::assign_range(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::begin(), ystdex::details::list_rep< _type, std::allocator< _type > >::erase_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::insert_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::list_rep(), ystdex::details::list_rep< _type, std::allocator< _type > >::merge(), ystdex::details::list_rep< _type, std::allocator< _type > >::remove_for(), ystdex::details::list_rep< _type, std::allocator< _type > >::resize_pos(), ystdex::details::list_rep< _type, std::allocator< _type > >::size() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::unique().

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

## ◆ begin() [2/2]

template<typename _type , class _tAlloc >

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

inline

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

## ◆ clear()

template<typename _type , class _tAlloc >

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

inline

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

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::clear(), ystdex::details::list_rep< _type, std::allocator< _type > >::erase_range() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::operator=().

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

## ◆ clear_nodes()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::clear_nodes | ( |  | ) |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::clear(), ystdex::details::list_rep< _type, std::allocator< _type > >::move_assign_elements() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::~list_rep().

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

## ◆ clear_nodes_from()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::clear_nodes_from | ( | base_ptr | cur | ) |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::clear_nodes().

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

## ◆ construct_node()

template<typename _type , class _tAlloc >
template<typename... _tParams>

void ystdex::details::list_rep< _type, _tAlloc >::construct_node | ( | link_type | nd,
|  | _tParams &&... | args
| ) |  |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::create_node().

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

## ◆ create_node()

template<typename _type , class _tAlloc >
template<typename... _tParams>

link_type ystdex::details::list_rep< _type, _tAlloc >::create_node | ( | _tParams &&... | args | ) |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::append_default(), ystdex::details::list_rep< _type, std::allocator< _type > >::emplace() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::insert_it().

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

## ◆ deallocate_node()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::deallocate_node | ( | typename node_ator_traits::pointer | p | ) |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::drop_node().

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

## ◆ destroy_node()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::destroy_node | ( | link_type | nd | ) |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::drop_node().

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

## ◆ detach_node()

template<typename _type , class _tAlloc >

link_type ystdex::details::list_rep< _type, _tAlloc >::detach_node | ( | base_ptr | cur | ) |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::erase_it().

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

## ◆ drop_node()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::drop_node | ( | link_type | nd | ) |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::append_default(), ystdex::details::list_rep< _type, std::allocator< _type > >::clear_nodes_from(), ystdex::details::list_rep< _type, std::allocator< _type > >::erase_it() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::erase_range().

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

## ◆ emplace()

template<typename _type , class _tAlloc >
template<typename... _tParams>

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

inline

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

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

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

## ◆ empty()

template<typename _type , class _tAlloc >

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

inline

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

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::empty() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::pop_back().

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

## ◆ end() [1/2]

template<typename _type , class _tAlloc >

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

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::assign_range(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::end(), ystdex::details::list_rep< _type, std::allocator< _type > >::erase_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::init_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::merge(), ystdex::details::list_rep< _type, std::allocator< _type > >::remove(), ystdex::details::list_rep< _type, std::allocator< _type > >::remove_for(), ystdex::details::list_rep< _type, std::allocator< _type > >::resize_pos(), ystdex::details::list_rep< _type, std::allocator< _type > >::size(), ystdex::details::list_rep< _type, std::allocator< _type > >::sort() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::unique().

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

## ◆ end() [2/2]

template<typename _type , class _tAlloc >

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

inline

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

## ◆ erase_it()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::erase_it | ( | iterator | position | ) |

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::erase_one(), ystdex::details::list_rep< _type, std::allocator< _type > >::pop_back(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::pop_front() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::remove().

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

## ◆ erase_one()

template<typename _type , class _tAlloc >

iterator ystdex::details::list_rep< _type, _tAlloc >::erase_one | ( | iterator | position | ) |

inline

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

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::erase() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::erase_range().

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

## ◆ erase_range()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::erase_range | ( | iterator | first,
|  | iterator | last
| ) |  |

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::assign_range() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::erase().

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

## ◆ expects_same_allocators() [1/3]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::expects_same_allocators | ( | list_rep< _type, _tAlloc > & | ,
|  | true_ |
| ) |  |

inlineprivate

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

## ◆ expects_same_allocators() [2/3]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::expects_same_allocators | ( | list_rep< _type, _tAlloc > & | x | ) |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::expects_same_allocators(), ystdex::details::list_rep< _type, std::allocator< _type > >::merge() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::splice().

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

## ◆ expects_same_allocators() [3/3]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::expects_same_allocators | ( | list_rep< _type, _tAlloc > & | x,
|  | false_ |
| ) |  |

inlineprivate

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

## ◆ get_allocator()

template<typename _type , class _tAlloc >

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

inline

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

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

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

## ◆ get_node_allocator() [1/2]

template<typename _type , class _tAlloc >

node_allocator& ystdex::details::list_rep< _type, _tAlloc >::get_node_allocator | ( |  | ) |

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::construct_node(), ystdex::details::list_rep< _type, std::allocator< _type > >::destroy_node(), ystdex::details::list_rep< _type, std::allocator< _type > >::expects_same_allocators(), ystdex::details::list_rep< _type, std::allocator< _type > >::get_allocator(), ystdex::details::list_rep< _type, std::allocator< _type > >::insert_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::list_rep(), ystdex::details::list_rep< _type, std::allocator< _type > >::max_size(), ystdex::details::list_rep< _type, std::allocator< _type > >::move_assign_elements() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::operator=().

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

## ◆ get_node_allocator() [2/2]

template<typename _type , class _tAlloc >

const node_allocator& ystdex::details::list_rep< _type, _tAlloc >::get_node_allocator | ( |  | ) | const

inline

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

## ◆ init_range()

template<typename _type , class _tAlloc >
template<typename _tIn >

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

inline

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

被这些函数引用 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::init_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::insert_range() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::list_rep().

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

## ◆ insert_it()

template<typename _type , class _tAlloc >
template<typename... _tParams>

void ystdex::details::list_rep< _type, _tAlloc >::insert_it | ( | iterator | position,
|  | _tParams &&... | args
| ) |  |

inline

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

被这些函数引用 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::details::list_rep< _type, std::allocator< _type > >::init_range(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::push_back() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::push_front().

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

## ◆ insert_range()

template<typename _type , class _tAlloc >
template<typename _tIn >

iterator ystdex::details::list_rep< _type, _tAlloc >::insert_range | ( | iterator | position,
|  | _tIn | first,
|  | _tIn | last
| ) |  |

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::assign_range(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::insert() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::list_rep().

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

## ◆ max_size()

template<typename _type , class _tAlloc >

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

inline

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

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

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

## ◆ merge()

template<typename _type , class _tAlloc >
template<typename _fComp >

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

inline

参见
  LWG 300 。

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

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

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

## ◆ move_assign_elements() [1/2]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::move_assign_elements | ( | list_rep< _type, _tAlloc > & | x,
|  | false_ |
| ) |  |

inlineprotected

转移赋值可能不相等的不在转移赋值时传播的分配器的容器元素。

注解
  从不相等分配器转移元素结果是可能是复制而不是转移对象。

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::move_assign_elements() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::operator=().

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

## ◆ move_assign_elements() [2/2]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::move_assign_elements | ( | list_rep< _type, _tAlloc > & | x,
|  | true_ |
| ) |  |

inlineprotected

转移赋值相等或在转移赋值时传播的分配器的容器元素。

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

## ◆ move_nodes()

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::move_nodes | ( | list_rep< _type, _tAlloc > && | x | ) |

inlineprotected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::list_rep() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::move_assign_elements().

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

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

template<typename _type , class _tAlloc >

list_rep& ystdex::details::list_rep< _type, _tAlloc >::operator= | ( | const list_rep< _type, _tAlloc > & | x | ) |

inline

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

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

template<typename _type , class _tAlloc >

list_rep& ystdex::details::list_rep< _type, _tAlloc >::operator= | ( | list_rep< _type, _tAlloc > && | x | ) |

inline

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

## ◆ pop_back()

template<typename _type , class _tAlloc >

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

inline

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

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

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

## ◆ remove()

template<typename _type , class _tAlloc >

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

inline

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

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

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

## ◆ remove_for()

template<typename _type , class _tAlloc >
template<typename _func >

size_type ystdex::details::list_rep< _type, _tAlloc >::remove_for | ( | _func | f | ) |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::remove() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::remove_if().

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

## ◆ remove_if()

template<typename _type , class _tAlloc >
template<typename _fPred >

size_type ystdex::details::list_rep< _type, _tAlloc >::remove_if | ( | _fPred & | pred | ) |

inline

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

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

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

## ◆ resize_pos()

template<typename _type , class _tAlloc >

const_iterator ystdex::details::list_rep< _type, _tAlloc >::resize_pos | ( | size_type & | sz | ) | const

inline

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

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

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

## ◆ reverse()

template<typename _type , class _tAlloc >

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

inline

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

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

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

## ◆ size()

template<typename _type , class _tAlloc >

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

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::empty(), ystdex::details::list_rep< _type, std::allocator< _type > >::remove_for(), ystdex::details::list_rep< _type, std::allocator< _type > >::resize_pos(), ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::size() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::unique().

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

## ◆ sort()

template<typename _type , class _tAlloc >
template<typename _fComp >

iterator ystdex::details::list_rep< _type, _tAlloc >::sort | ( | iterator | first,
|  | iterator | last,
|  | size_type | n,
|  | _fComp & | comp
| ) |  |

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::sort() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::sort().

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

## ◆ splice() [1/3]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::splice | ( | iterator | position,
|  | list_rep< _type, _tAlloc > & | x
| ) |  |

inline

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::insert_range() , 以及 ystdex::list< chunk_pr_t, polymorphic_allocator< chunk_pr_t > >::splice().

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

## ◆ splice() [2/3]

template<typename _type , class _tAlloc >

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

inline

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

## ◆ splice() [3/3]

template<typename _type , class _tAlloc >

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

inline

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

## ◆ transfer_range() [1/2]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::transfer_range | ( | iterator | position,
|  | const_iterator | first,
|  | const_iterator | last
| ) |  |

inlineprivate

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

## ◆ transfer_range() [2/2]

template<typename _type , class _tAlloc >

void ystdex::details::list_rep< _type, _tAlloc >::transfer_range | ( | iterator | position,
|  | iterator | first,
|  | iterator | last
| ) |  |

inlineprivate

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::merge(), ystdex::details::list_rep< _type, std::allocator< _type > >::sort(), ystdex::details::list_rep< _type, std::allocator< _type > >::splice() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::transfer_range().

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

## ◆ unique()

template<typename _type , class _tAlloc >
template<typename _fBiPred >

size_type ystdex::details::list_rep< _type, _tAlloc >::unique | ( | _fBiPred & | binary_pred | ) |

inline

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

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

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

## 友元及相关函数文档

## ◆ swap

template<typename _type , class _tAlloc >

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

friend

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

## 类成员变量说明

## ◆ objects

template<typename _type , class _tAlloc >

components ystdex::details::list_rep< _type, _tAlloc >::objects

protected

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

被这些函数引用 ystdex::details::list_rep< _type, std::allocator< _type > >::allocate_node(), ystdex::details::list_rep< _type, std::allocator< _type > >::append_default(), ystdex::details::list_rep< _type, std::allocator< _type > >::attach_node(), ystdex::details::list_rep< _type, std::allocator< _type > >::begin(), ystdex::details::list_rep< _type, std::allocator< _type > >::clear(), ystdex::details::list_rep< _type, std::allocator< _type > >::clear_nodes(), ystdex::details::list_rep< _type, std::allocator< _type > >::clear_nodes_from(), ystdex::details::list_rep< _type, std::allocator< _type > >::deallocate_node(), ystdex::details::list_rep< _type, std::allocator< _type > >::detach_node(), ystdex::details::list_rep< _type, std::allocator< _type > >::empty(), ystdex::details::list_rep< _type, std::allocator< _type > >::end(), ystdex::details::list_rep< _type, std::allocator< _type > >::erase_range(), ystdex::details::list_rep< _type, std::allocator< _type > >::get_node_allocator(), ystdex::details::list_rep< _type, std::allocator< _type > >::merge(), ystdex::details::list_rep< _type, std::allocator< _type > >::move_nodes(), ystdex::details::list_rep< _type, std::allocator< _type > >::pop_back(), ystdex::details::list_rep< _type, std::allocator< _type > >::reverse(), ystdex::details::list_rep< _type, std::allocator< _type > >::size() , 以及 ystdex::details::list_rep< _type, std::allocator< _type > >::splice().

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

- list.hpp