MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
iterator_traits.hpp 文件参考

MSTL迭代器萃取和指针萃取 更多...

iterator_traits.hpp 的引用(Include)关系图:

浏览该文件的源代码.

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 中定义.