memory::StaticObject
为一个永久对象预留固定地址的存储,不分配堆内存,也不自动析构 T。 T 完整、非数组、非 cv 限定的具体对象类型;不要求默认构造或复制/移动。 对象槽应具有静态存储期;先用 INIT_OBJECT 构造,再访问对象。 每个槽只能成功构造一次。重复初始化在 Debug 下断言失败;Release 由调用方保证。 ->、* 和指针转换均不检查状态;未构造时调用这些操作违反前置条件。 状态查询使用 is_initialized()、if (slot)、!slot 或与 nullptr 的比较。 bool ready = slot 会经由隐式指针转换;需要保存状态时使用 static_cast<bool>(slot)。 const 槽视图提供 const T 访问;取得的指针不拥有对象,禁止 delete。 不提供线程/ISR 同步;应在使用者开始访问前完成构造,或由调用方同步。 sizeof(StaticObject<T>) 包含 T 的存储、状态及对齐填充,不包含 T 自行申请的内存。 内存区域由实例声明和链接脚本决定;本类型不配置 DMA、MPU 或缓存属性。 使用约定:
构造与析构
3StaticObject
memory::StaticObject< T >::StaticObject () noexcept=default
上游未提供说明。
memory/StaticObject/static_object.hpp:44StaticObject
memory::StaticObject< T >::StaticObject (StaticObject &&)=delete
上游未提供说明。
memory/StaticObject/static_object.hpp:47StaticObject
memory::StaticObject< T >::StaticObject (const StaticObject &)=delete
上游未提供说明。
memory/StaticObject/static_object.hpp:45成员函数
13initialization_storage
T * memory::StaticObject< T >::initialization_storage () noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:91operator T*
memory::StaticObject< T >::operator T* () noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:57operator bool
memory::StaticObject< T >::operator bool () const noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:85operator bool
memory::StaticObject< T >::operator bool () noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:84operator const T *
memory::StaticObject< T >::operator const T * () const noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:58operator*
T & memory::StaticObject< T >::operator* () noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:54operator*
const T & memory::StaticObject< T >::operator* () const noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:55operator->
T * memory::StaticObject< T >::operator-> () noexcept
无检查的对象访问;调用前必须已完成构造。
memory/StaticObject/static_object.hpp:51operator->
const T * memory::StaticObject< T >::operator-> () const noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:52operator=
StaticObject & memory::StaticObject< T >::operator= (StaticObject &&)=delete
上游未提供说明。
memory/StaticObject/static_object.hpp:48operator=
StaticObject & memory::StaticObject< T >::operator= (const StaticObject &)=delete
上游未提供说明。
memory/StaticObject/static_object.hpp:46pointer
T * memory::StaticObject< T >::pointer () noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:88pointer
const T * memory::StaticObject< T >::pointer () const noexcept
上游未提供说明。
memory/StaticObject/static_object.hpp:89成员变量
3debug_
T* const memory::StaticObject< T >::debug_
上游未提供说明。
memory/StaticObject/static_object.hpp:98initialized_
bool memory::StaticObject< T >::initialized_
上游未提供说明。
memory/StaticObject/static_object.hpp:100storage_
std::byte memory::StaticObject< T >::storage_[sizeof(T)] [sizeof(T)]
上游未提供说明。
memory/StaticObject/static_object.hpp:99