|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
MSTL删除算法的实现 更多...
函数 | |
| template<typename Iterator1, typename Iterator2, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0> | |
| constexpr Iterator2 | remove_copy (Iterator1 first, Iterator1 last, Iterator2 result, const T &value) |
| 复制范围中不等于指定值的元素 | |
| template<typename Iterator1, typename Iterator2, typename Predicate, enable_if_t< is_ranges_fwd_iter_v< Iterator1 > &&is_ranges_fwd_iter_v< Iterator2 >, int > = 0> | |
| constexpr Iterator2 | remove_copy_if (Iterator1 first, Iterator1 last, Iterator2 result, Predicate pred) |
| 复制范围中不满足谓词的元素 | |
| template<typename Iterator, typename T, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0> | |
| constexpr Iterator | remove (Iterator first, Iterator last, const T &value) |
| 移除范围中等于指定值的元素 | |
| template<typename Iterator, typename Predicate, enable_if_t< is_ranges_fwd_iter_v< Iterator >, int > = 0> | |
| constexpr Iterator | remove_if (Iterator first, Iterator last, Predicate pred) |
| 移除范围中满足谓词的元素 | |
| template<typename Container, typename U> | |
| constexpr size_t | erase (Container &cont, const U &value) |
| 从容器中删除所有等于指定值的元素 | |
| template<typename Container, typename Predicate> | |
| constexpr size_t | erase_if (Container &cont, Predicate pred) |
| 从容器中删除所有满足谓词的元素 | |
MSTL删除算法的实现
|
constexpr |
从容器中删除所有等于指定值的元素
| Container | 容器类型 |
| U | 值类型,必须与容器元素类型相同 |
| cont | 容器引用 |
| value | 要删除的值 |
从容器的所有元素中删除所有等于 value 的元素。 此操作会实际删除元素,容器大小会改变。
在文件 remove.hpp 第 135 行定义.
引用了 _MSTL, declval(), end() , 以及 remove_if().
|
constexpr |
从容器中删除所有满足谓词的元素
| Container | 容器类型 |
| Predicate | 谓词类型 |
| cont | 容器引用 |
| pred | 一元谓词 |
从容器中删除所有满足谓词 pred 的元素。 谓词应接受容器元素类型的值并返回可转换为 bool 的类型。 如果 pred(element) 返回 true,则该元素将被删除。
在文件 remove.hpp 第 166 行定义.
引用了 _MSTL, end(), ref() , 以及 remove_if().
|
constexpr |
移除范围中等于指定值的元素
| Iterator | 迭代器类型 |
| T | 值类型 |
| first | 范围起始迭代器 |
| last | 范围结束迭代器 |
| value | 要移除的值 |
从范围 [first, last) 中移除所有等于 value 的元素。 被移除的元素会移动到范围的末尾,但不会被物理删除。 返回的迭代器指向移除操作后范围的新逻辑结束位置。
在文件 remove.hpp 第 92 行定义.
引用了 _MSTL, find(), next() , 以及 remove_copy().
|
constexpr |
复制范围中不等于指定值的元素
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| T | 值类型 |
| first | 输入范围起始迭代器 |
| last | 输入范围结束迭代器 |
| result | 输出范围起始迭代器 |
| value | 要排除的值 |
将范围 [first, last) 中不等于 value 的所有元素复制到以 result 开始的范围。 原范围保持不变。
如果 pred(*it) 返回 true,则该元素将被排除。
在文件 remove.hpp 第 40 行定义.
被这些函数引用 remove().
|
constexpr |
复制范围中不满足谓词的元素
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| Predicate | 谓词类型 |
| first | 输入范围起始迭代器 |
| last | 输入范围结束迭代器 |
| result | 输出范围起始迭代器 |
| pred | 一元谓词 |
将范围 [first, last) 中不满足谓词 pred 的所有元素复制到以 result 开始的范围。 原范围保持不变。
在文件 remove.hpp 第 66 行定义.
被这些函数引用 remove_if().
|
constexpr |
移除范围中满足谓词的元素
| Iterator | 迭代器类型 |
| Predicate | 谓词类型 |
| first | 范围起始迭代器 |
| last | 范围结束迭代器 |
| pred | 一元谓词 |
从范围 [first, last) 中移除所有满足谓词 pred 的元素。 谓词应接受元素类型的值并返回可转换为 bool 的类型。 如果 pred(*it) 返回 true,则该元素将被移除。
在文件 remove.hpp 第 114 行定义.
引用了 _MSTL, find_if(), next() , 以及 remove_copy_if().
被这些函数引用 erase() , 以及 erase_if().