|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
迭代器操作函数的实现 更多...
函数 | |
| template<typename Iterator> | |
| constexpr iter_pointer_t< Iterator > | to_pointer (Iterator iter) |
| 将迭代器转换为原始指针 | |
| template<typename Iterator, typename Distance, enable_if_t< is_iter_v< Iterator >, int > = 0> | |
| constexpr void | advance (Iterator &i, Distance n) |
| 将迭代器前进指定距离 | |
| template<typename Iterator> | |
| constexpr Iterator | prev (Iterator iter, iter_difference_t< Iterator > n=-1) |
| 获取迭代器的前一个位置 | |
| template<typename Iterator> | |
| constexpr Iterator | next (Iterator iter, iter_difference_t< Iterator > n=1) |
| 获取迭代器的后一个位置 | |
| template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0> | |
| constexpr iter_difference_t< Iterator > | distance (Iterator first, Iterator last) |
| 计算两个迭代器之间的距离 | |
迭代器操作函数的实现
|
constexpr |
将迭代器前进指定距离
| Iterator | 迭代器类型 |
| Distance | 距离类型 |
| i | 迭代器引用 |
| n | 前进距离 |
根据迭代器类型使用不同的前进策略:
在文件 iterator.hpp 第 90 行定义.
引用了 _INNER, is_bid_iter_v , 以及 is_rnd_iter_v.
被这些函数引用 equal_range(), find_end(), lower_bound(), next(), prev() , 以及 upper_bound().
|
constexpr |
计算两个迭代器之间的距离
| Iterator | 迭代器类型 |
| first | 起始迭代器 |
| last | 结束迭代器 |
根据迭代器类型使用不同的计算策略:
在文件 iterator.hpp 第 170 行定义.
引用了 _INNER , 以及 is_rnd_iter_v.
被这些函数引用 equal_range(), find_end(), inplace_merge(), is_permutation(), lower_bound(), merge_sort(), reduce(), search(), shift_left(), shift_right(), shuffle(), temporary_buffer< Iterator >::temporary_buffer(), transform_reduce() , 以及 upper_bound().
|
constexpr |
获取迭代器的后一个位置
| Iterator | 迭代器类型 |
| iter | 当前迭代器 |
| n | 前进距离,默认为1 |
将迭代器前进n个位置,n必须为非负数。
在文件 iterator.hpp 第 134 行定义.
被这些函数引用 adjacent_find(), is_sorted(), is_sorted_until(), lock_free_queue< T >::pop(), reduce(), remove(), remove_if(), shift_left(), shift_right(), shuffle(), shuffle(), transform_reduce() , 以及 lock_free_queue< T >::try_pop().
|
constexpr |
获取迭代器的前一个位置
| Iterator | 迭代器类型 |
| iter | 当前迭代器 |
| n | 后退距离,默认为1 |
将迭代器后退n个位置,n必须为非正数。
在文件 iterator.hpp 第 118 行定义.
被这些函数引用 shift_left() , 以及 shift_right().
|
constexpr |