RMVL  2.4.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到

共享内存对象基类 更多...

#include <rmvl/io/ipc.hpp>

类 rm::SHMBase 继承关系图:
rm::SHMBase 的协作图:

Public 成员函数

 SHMBase (std::string_view name, std::size_t size)
 创建或打开共享内存对象并映射到当前进程地址空间
 ~SHMBase ()
 SHMBase (const SHMBase &)=delete
 SHMBase (SHMBase &&)=default
SHMBaseoperator= (const SHMBase &)=delete
SHMBaseoperator= (SHMBase &&)=default
void * data () noexcept
 获取共享内存映射指针
const void * data () const noexcept
 获取共享内存映射指针
bool isCreator () const noexcept
 是否为创建者

静态 Public 成员函数

static void destroy (std::string_view name)
 显式移除指定名称的共享内存对象,Windows 平台下调用该函数无效果

详细描述

共享内存对象基类

构造及析构函数说明

◆ SHMBase() [1/3]

rm::SHMBase::SHMBase ( std::string_view name,
std::size_t size )

创建或打开共享内存对象并映射到当前进程地址空间

参数
[in]name共享内存名称
[in]size共享内存大小

◆ ~SHMBase()

rm::SHMBase::~SHMBase ( )

◆ SHMBase() [2/3]

rm::SHMBase::SHMBase ( const SHMBase & )
delete
函数调用图:

◆ SHMBase() [3/3]

rm::SHMBase::SHMBase ( SHMBase && )
default
函数调用图:

成员函数说明

◆ data() [1/2]

const void * rm::SHMBase::data ( ) const
inlinenoexcept

获取共享内存映射指针

返回
共享内存映射指针

◆ data() [2/2]

void * rm::SHMBase::data ( )
inlinenoexcept

获取共享内存映射指针

返回
共享内存映射指针

◆ destroy()

void rm::SHMBase::destroy ( std::string_view name)
static

显式移除指定名称的共享内存对象,Windows 平台下调用该函数无效果

析构中不提供清理操作,这是数据持久化优于自动清理的设计选择

参数
[in]name共享内存名称

◆ isCreator()

bool rm::SHMBase::isCreator ( ) const
inlinenoexcept

是否为创建者

◆ operator=() [1/2]

SHMBase & rm::SHMBase::operator= ( const SHMBase & )
delete
函数调用图:

◆ operator=() [2/2]

SHMBase & rm::SHMBase::operator= ( SHMBase && )
default
函数调用图: