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