libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR::DatabaseRaw< MinWriteSize >::KeyInfo Struct Reference

键信息结构,存储键的元数据 (Structure containing key metadata). More...

Collaboration diagram for LibXR::DatabaseRaw< MinWriteSize >::KeyInfo:
[legend]

Public Member Functions

void SetNameLength (uint8_t len)
 
uint8_t GetNameLength () const
 
void SetDataSize (uint32_t size)
 
uint32_t GetDataSize () const
 

Data Fields

BlockBoolData< MinWriteSize > no_next_key
 是否是最后一个键
 
BlockBoolData< MinWriteSize > available_flag
 该键是否有效
 
BlockBoolData< MinWriteSize > uninit
 该键是否未初始化
 
uint32_t raw_info = 0
 高7位为 nameLength,低25位为 dataSize
 

Detailed Description

template<size_t MinWriteSize>
struct LibXR::DatabaseRaw< MinWriteSize >::KeyInfo

键信息结构,存储键的元数据 (Structure containing key metadata).

Definition at line 404 of file database.hpp.

Constructor & Destructor Documentation

◆ KeyInfo()

template<size_t MinWriteSize>
LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::KeyInfo ( )
inline

Definition at line 413 of file database.hpp.

414 {
415 BlockBoolUtil<MinWriteSize>::SetFlag(no_next_key, true);
416 BlockBoolUtil<MinWriteSize>::SetFlag(available_flag, true);
417 BlockBoolUtil<MinWriteSize>::SetFlag(uninit, true);
418 }
BlockBoolData< MinWriteSize > no_next_key
是否是最后一个键
Definition database.hpp:406
BlockBoolData< MinWriteSize > available_flag
该键是否有效
Definition database.hpp:407
BlockBoolData< MinWriteSize > uninit
该键是否未初始化
Definition database.hpp:408

Member Function Documentation

◆ GetDataSize()

template<size_t MinWriteSize>
uint32_t LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::GetDataSize ( ) const
inline

Definition at line 432 of file database.hpp.

432{ return raw_info & 0x01FFFFFF; }
uint32_t raw_info
高7位为 nameLength,低25位为 dataSize
Definition database.hpp:410

◆ GetNameLength()

template<size_t MinWriteSize>
uint8_t LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::GetNameLength ( ) const
inline

Definition at line 425 of file database.hpp.

425{ return (raw_info >> 25) & 0x7F; }

◆ SetDataSize()

template<size_t MinWriteSize>
void LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::SetDataSize ( uint32_t size)
inline

Definition at line 427 of file database.hpp.

428 {
429 raw_info = (raw_info & 0xFE000000) | (size & 0x01FFFFFF);
430 }

◆ SetNameLength()

template<size_t MinWriteSize>
void LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::SetNameLength ( uint8_t len)
inline

Definition at line 420 of file database.hpp.

421 {
422 raw_info = (raw_info & 0x01FFFFFF) | ((len & 0x7F) << 25);
423 }

Field Documentation

◆ available_flag

template<size_t MinWriteSize>
BlockBoolData<MinWriteSize> LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::available_flag

该键是否有效

Definition at line 407 of file database.hpp.

◆ no_next_key

template<size_t MinWriteSize>
BlockBoolData<MinWriteSize> LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::no_next_key

是否是最后一个键

Definition at line 406 of file database.hpp.

◆ raw_info

template<size_t MinWriteSize>
uint32_t LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::raw_info = 0

高7位为 nameLength,低25位为 dataSize

Definition at line 410 of file database.hpp.

◆ uninit

template<size_t MinWriteSize>
BlockBoolData<MinWriteSize> LibXR::DatabaseRaw< MinWriteSize >::KeyInfo::uninit

该键是否未初始化

Definition at line 408 of file database.hpp.


The documentation for this struct was generated from the following file: