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

对齐缓冲区模板类 更多...

#include <aligned_buffer.hpp>

类 aligned_buffer< T > 继承关系图:
[图例]

Public 成员函数

 aligned_buffer ()=default
 默认构造函数
 aligned_buffer (nullptr_t null)
 nullptr_t构造函数
void * addr () noexcept
 获取缓冲区的原始地址
const void * addr () const noexcept
 获取缓冲区的原始常量地址
T * ptr () noexcept
 获取缓冲区的类型化指针
const T * ptr () const noexcept
 获取缓冲区的类型化常量指针

Public 属性

aligned_storage_t< sizeof(T), alignof(T)> storage
 实际的存储缓冲区

详细描述

template<typename T>
struct aligned_buffer< T >

对齐缓冲区模板类

模板参数
T要存储的类型

提供类型安全的对齐内存缓冲区,确保内存的对齐方式与类型T一致。

在文件 aligned_buffer.hpp29 行定义.

构造及析构函数说明

◆ aligned_buffer() [1/2]

template<typename T>
aligned_buffer< T >::aligned_buffer ( )
default

默认构造函数

创建一个未初始化的对齐缓冲区。

◆ aligned_buffer() [2/2]

template<typename T>
aligned_buffer< T >::aligned_buffer ( nullptr_t null)
inline

nullptr_t构造函数

参数
nullnullptr_t参数

允许从nullptr构造对齐缓冲区,创建一个未初始化的缓冲区。

在文件 aligned_buffer.hpp50 行定义.

成员函数说明

◆ addr() [1/2]

template<typename T>
const void * aligned_buffer< T >::addr ( ) const
inlinenoexcept

获取缓冲区的原始常量地址

返回
指向缓冲区内存的const void指针

在文件 aligned_buffer.hpp62 行定义.

引用了 storage.

◆ addr() [2/2]

template<typename T>
void * aligned_buffer< T >::addr ( )
inlinenoexcept

获取缓冲区的原始地址

返回
指向缓冲区内存的void指针

在文件 aligned_buffer.hpp56 行定义.

引用了 storage.

被这些函数引用 ptr() , 以及 ptr().

◆ ptr() [1/2]

template<typename T>
const T * aligned_buffer< T >::ptr ( ) const
inlinenoexcept

获取缓冲区的类型化常量指针

返回
指向缓冲区内存的const T类型指针

在文件 aligned_buffer.hpp76 行定义.

引用了 addr().

◆ ptr() [2/2]

template<typename T>
T * aligned_buffer< T >::ptr ( )
inlinenoexcept

获取缓冲区的类型化指针

返回
指向缓冲区内存的T类型指针

将原始内存解释为类型T的指针,但不构造对象。

在文件 aligned_buffer.hpp70 行定义.

引用了 addr().

类成员变量说明

◆ storage

template<typename T>
aligned_storage_t<sizeof(T), alignof(T)> aligned_buffer< T >::storage

实际的存储缓冲区

使用aligned_storage_t确保内存具有正确的对齐方式。

在文件 aligned_buffer.hpp35 行定义.

被这些函数引用 addr() , 以及 addr().


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