|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
MSTL迭代器萃取和指针萃取 更多...
#include "MSTL/core/typeinfo/type_traits.hpp"类 | |
| struct | iterator_traits< Iterator > |
| 迭代器特性主模板 更多... | |
| struct | iterator_traits< T * > |
| 原始指针的迭代器特性特化 更多... | |
| struct | pointer_traits< T > |
| 指针特性主模板 更多... | |
| struct | pointer_traits< T * > |
| 原始指针的特化版本 更多... | |
| struct | get_pointer_type< T, Dummy > |
| 获取分配器的指针类型 更多... | |
| struct | get_difference_type< T, Dummy > |
| 获取分配器的差值类型 更多... | |
| struct | get_size_type< T, Dummy > |
| 获取分配器的大小类型 更多... | |
类型定义 | |
| template<typename Iterator> | |
| using | iter_category_t = typename iterator_traits<Iterator>::iterator_category |
| 获取迭代器的类别标签 | |
| template<typename Iterator> | |
| using | iter_value_t = typename iterator_traits<Iterator>::value_type |
| 获取迭代器的值类型 | |
| template<typename Iterator> | |
| using | iter_difference_t = typename iterator_traits<Iterator>::difference_type |
| 获取迭代器的差值类型 | |
| template<typename Iterator> | |
| using | iter_pointer_t = typename iterator_traits<Iterator>::pointer |
| 获取迭代器的指针类型 | |
| template<typename Iterator> | |
| using | iter_reference_t = typename iterator_traits<Iterator>::reference |
| 获取迭代器的引用类型 | |
| template<typename Iterator> | |
| using | iter_map_key_t = remove_const_t<typename iter_value_t<Iterator>::first_type> |
| 从映射迭代器中提取键类型 | |
| template<typename Iterator> | |
| using | iter_map_value_t = typename iter_value_t<Iterator>::second_type |
| 从映射迭代器中提取值类型 | |
| template<typename Ptr, typename T> | |
| using | pointer_rebind = typename pointer_traits<Ptr>::template rebind<T> |
| 指针重新绑定的便捷别名 | |
函数 | |
| template<typename Ptr> | |
| constexpr decltype(auto) | ptr_const_cast (Ptr ptr) noexcept |
| 移除指针的const限定符 | |
| template<typename T> | |
| constexpr decltype(auto) | ptr_const_cast (T *ptr) noexcept |
| 移除原始指针的const限定符 | |
| template<typename T> | |
| constexpr T * | to_address (T *ptr) noexcept |
| 安全地获取原始指针指向的地址 | |
| template<typename Ptr> | |
| constexpr decltype(auto) | to_address (const Ptr &ptr) noexcept |
| 安全地获取任意指针类型指向的地址 | |
MSTL迭代器萃取和指针萃取
此文件提供了迭代器萃取实现,用于在编译时查询迭代器的各种属性, 为算法提供统一的迭代器信息访问接口;
提供了指针萃取的实现,用于抽象和操作不同类型的指针, 以支持各种指针类型的统一操作。
在文件 iterator_traits.hpp 中定义.