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 401 of file database.hpp.

Constructor & Destructor Documentation

◆ KeyInfo()

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

Definition at line 410 of file database.hpp.

411 {
412 BlockBoolUtil<MinWriteSize>::SetFlag(no_next_key, true);
413 BlockBoolUtil<MinWriteSize>::SetFlag(available_flag, true);
414 BlockBoolUtil<MinWriteSize>::SetFlag(uninit, true);
415 }
BlockBoolData< MinWriteSize > no_next_key
是否是最后一个键
Definition database.hpp:403
BlockBoolData< MinWriteSize > available_flag
该键是否有效
Definition database.hpp:404
BlockBoolData< MinWriteSize > uninit
该键是否未初始化
Definition database.hpp:405

Member Function Documentation

◆ GetDataSize()

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

Definition at line 429 of file database.hpp.

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

◆ GetNameLength()

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

Definition at line 422 of file database.hpp.

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

◆ SetDataSize()

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

Definition at line 424 of file database.hpp.

425 {
426 raw_info = (raw_info & 0xFE000000) | (size & 0x01FFFFFF);
427 }

◆ SetNameLength()

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

Definition at line 417 of file database.hpp.

418 {
419 raw_info = (raw_info & 0x01FFFFFF) | ((len & 0x7F) << 25);
420 }

Field Documentation

◆ available_flag

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

该键是否有效

Definition at line 404 of file database.hpp.

◆ no_next_key

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

是否是最后一个键

Definition at line 403 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 407 of file database.hpp.

◆ uninit

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

该键是否未初始化

Definition at line 405 of file database.hpp.


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