MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
allocated_ptr< Alloc > 模板结构体 参考

分配内存指针 更多...

#include <allocated_ptr.hpp>

Public 类型

using pointer = typename allocator_traits<Alloc>::pointer
 分配器指针类型
using value_type = typename allocator_traits<Alloc>::value_type
 元素类型

Public 成员函数

 allocated_ptr (Alloc &alloc, pointer ptr) noexcept
 构造函数
template<typename Ptr, typename = enable_if_t<is_same_v<Ptr, value_type*>>>
 allocated_ptr (Alloc &alloc, Ptr ptr)
 原始指针转换
 allocated_ptr (allocated_ptr &&guard) noexcept
 移动构造函数
 ~allocated_ptr ()
 析构函数
allocated_ptroperator= (nullptr_t null) noexcept
 设置为空指针
value_typeget ()
 获取原始指针

详细描述

template<typename Alloc>
struct allocated_ptr< Alloc >

分配内存指针

模板参数
Alloc分配器类型

此类封装了一个分配的内存块及其对应的分配器。

在文件 allocated_ptr.hpp28 行定义.

构造及析构函数说明

◆ allocated_ptr() [1/3]

template<typename Alloc>
allocated_ptr< Alloc >::allocated_ptr ( Alloc & alloc,
pointer ptr )
inlinenoexcept

构造函数

参数
alloc分配器引用
ptr分配的内存指针
异常

从分配器和内存指针构造allocated_ptr。

在文件 allocated_ptr.hpp45 行定义.

引用了 _MSTL.

被这些函数引用 allocated_ptr() , 以及 operator=().

◆ allocated_ptr() [2/3]

template<typename Alloc>
template<typename Ptr, typename = enable_if_t<is_same_v<Ptr, value_type*>>>
allocated_ptr< Alloc >::allocated_ptr ( Alloc & alloc,
Ptr ptr )
inline

原始指针转换

模板参数
Ptr原始指针类型
参数
alloc分配器引用
ptr原始指针

从原始指针构造,转换为分配器的指针类型。

在文件 allocated_ptr.hpp57 行定义.

引用了 _MSTL , 以及 addressof().

◆ allocated_ptr() [3/3]

template<typename Alloc>
allocated_ptr< Alloc >::allocated_ptr ( allocated_ptr< Alloc > && guard)
inlinenoexcept

移动构造函数

参数
guard要移动的allocated_ptr

在文件 allocated_ptr.hpp64 行定义.

引用了 allocated_ptr().

成员函数说明

◆ get()

template<typename Alloc>
value_type * allocated_ptr< Alloc >::get ( )
inline

获取原始指针

返回
指向元素的原始指针

返回可访问的原始指针,用于直接访问内存。

在文件 allocated_ptr.hpp96 行定义.

引用了 _MSTL , 以及 to_address().

◆ operator=()

template<typename Alloc>
allocated_ptr & allocated_ptr< Alloc >::operator= ( nullptr_t null)
inlinenoexcept

设置为空指针

参数
null空指针字面量
返回
当前对象的引用

放弃内存所有权,不会释放内存。

在文件 allocated_ptr.hpp85 行定义.

引用了 allocated_ptr().


该结构体的文档由以下文件生成: