LibreOffice Module store (master) 1
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
store::OStoreBTreeNodeData Struct Reference

#include <stortree.hxx>

Inheritance diagram for store::OStoreBTreeNodeData:
[legend]
Collaboration diagram for store::OStoreBTreeNodeData:
[legend]

Public Types

typedef PageData base
 
typedef OStoreBTreeNodeData self
 
typedef OStorePageGuard G
 
typedef OStoreBTreeEntry T
 
- Public Types inherited from store::PageData
typedef OStorePageGuard G
 
typedef OStorePageDescriptor D
 
typedef OStorePageLink L
 

Public Member Functions

sal_uInt16 capacity () const
 
sal_uInt16 capacityCount () const
 capacityCount (must be even). More...
 
sal_uInt16 usage () const
 
sal_uInt16 usageCount () const
 
void usageCount (sal_uInt16 nCount)
 
 OStoreBTreeNodeData (sal_uInt16 nPageSize)
 
void guard ()
 
storeError verify () const
 
sal_uInt32 depth () const
 
void depth (sal_uInt32 nDepth)
 
bool querySplit () const
 
sal_uInt16 find (const T &t) const
 
void insert (sal_uInt16 i, const T &t)
 
void remove (sal_uInt16 i)
 
void split (const self &rPageL)
 split (left half copied from right half of left page). More...
 
void truncate (sal_uInt16 n)
 truncate (to n elements). More...
 
- Public Member Functions inherited from store::PageData
sal_uInt32 location () const
 location. More...
 
void location (sal_uInt32 nAddr)
 
sal_uInt16 size () const
 size. More...
 
sal_uInt32 type () const
 type. More...
 
 PageData (sal_uInt16 nPageSize=thePageSize)
 Construction. More...
 
void swap (PageData &rhs)
 
 PageData (PageData const &rhs)
 
PageDataoperator= (PageData const &rhs)
 
void guard (sal_uInt32 nAddr)
 guard (external representation). More...
 
storeError verify (sal_uInt32 nAddr) const
 verify (external representation). More...
 

Public Attributes

G m_aGuard
 
T m_pData [1]
 
- Public Attributes inherited from store::PageData
G m_aGuard
 Representation. More...
 
D m_aDescr
 
L m_aMarked
 
L m_aUnused
 

Static Public Attributes

static const sal_uInt32 theTypeId = STORE_MAGIC_BTREENODE
 
static const size_t theSize = sizeof(G)
 
static const sal_uInt16 thePageSize = base::theSize + self::theSize
 
- Static Public Attributes inherited from store::PageData
static const size_t theSize = sizeof(G) + sizeof(D) + 2 * sizeof(L)
 theSize. More...
 
static const sal_uInt16 thePageSize = theSize
 

Additional Inherited Members

- Static Public Member Functions inherited from store::PageData
static void * operator new (size_t, void *p)
 
static void operator delete (void *, void *)
 

Detailed Description

Definition at line 74 of file stortree.hxx.

Member Typedef Documentation

◆ base

Definition at line 76 of file stortree.hxx.

◆ G

Definition at line 79 of file stortree.hxx.

◆ self

Definition at line 77 of file stortree.hxx.

◆ T

Definition at line 80 of file stortree.hxx.

Constructor & Destructor Documentation

◆ OStoreBTreeNodeData()

OStoreBTreeNodeData::OStoreBTreeNodeData ( sal_uInt16  nPageSize)
explicit

Member Function Documentation

◆ capacity()

sal_uInt16 store::OStoreBTreeNodeData::capacity ( ) const
inline

Definition at line 91 of file stortree.hxx.

References store::PageData::m_aDescr, m_nSize, store::ntohs(), and thePageSize.

Referenced by capacityCount(), guard(), and verify().

◆ capacityCount()

sal_uInt16 store::OStoreBTreeNodeData::capacityCount ( ) const
inline

capacityCount (must be even).

Definition at line 98 of file stortree.hxx.

References capacity().

Referenced by find(), insert(), OStoreBTreeNodeData(), querySplit(), split(), and truncate().

◆ depth() [1/2]

sal_uInt32 store::OStoreBTreeNodeData::depth ( ) const
inline

Definition at line 137 of file stortree.hxx.

References m_aGuard, and store::ntohl().

◆ depth() [2/2]

void store::OStoreBTreeNodeData::depth ( sal_uInt32  nDepth)
inline

Definition at line 141 of file stortree.hxx.

References store::htonl(), m_aGuard, and store::OStorePageGuard::m_nMagic.

◆ find()

sal_uInt16 OStoreBTreeNodeData::find ( const T t) const

Definition at line 58 of file stortree.cxx.

References capacityCount(), m, store::OStoreBTreeEntry::m_aKey, m_pData, t, and usageCount().

◆ guard()

void store::OStoreBTreeNodeData::guard ( )
inline

◆ insert()

void OStoreBTreeNodeData::insert ( sal_uInt16  i,
const T t 
)

Definition at line 82 of file stortree.cxx.

References capacityCount(), i, m, m_pData, n, t, and usageCount().

◆ querySplit()

bool store::OStoreBTreeNodeData::querySplit ( ) const
inline

Definition at line 146 of file stortree.hxx.

References capacityCount(), and usageCount().

◆ remove()

void OStoreBTreeNodeData::remove ( sal_uInt16  i)

Definition at line 97 of file stortree.cxx.

References i, m_pData, n, and usageCount().

◆ split()

void OStoreBTreeNodeData::split ( const self rPageL)

split (left half copied from right half of left page).

Definition at line 114 of file stortree.cxx.

References capacityCount(), h, m_pData, and truncate().

◆ truncate()

void OStoreBTreeNodeData::truncate ( sal_uInt16  n)

truncate (to n elements).

Definition at line 121 of file stortree.cxx.

References capacityCount(), i, m, m_pData, n, t, and usageCount().

Referenced by split().

◆ usage()

sal_uInt16 store::OStoreBTreeNodeData::usage ( ) const
inline

Definition at line 103 of file stortree.hxx.

References store::PageData::m_aDescr, store::ntohs(), and thePageSize.

Referenced by usageCount().

◆ usageCount() [1/2]

sal_uInt16 store::OStoreBTreeNodeData::usageCount ( ) const
inline

Definition at line 108 of file stortree.hxx.

References usage().

Referenced by find(), insert(), querySplit(), remove(), and truncate().

◆ usageCount() [2/2]

void store::OStoreBTreeNodeData::usageCount ( sal_uInt16  nCount)
inline

◆ verify()

storeError store::OStoreBTreeNodeData::verify ( ) const
inline

Member Data Documentation

◆ m_aGuard

G store::OStoreBTreeNodeData::m_aGuard

Definition at line 82 of file stortree.hxx.

Referenced by depth(), guard(), OStoreBTreeNodeData(), and verify().

◆ m_pData

T store::OStoreBTreeNodeData::m_pData[1]

Definition at line 83 of file stortree.hxx.

Referenced by find(), guard(), insert(), OStoreBTreeNodeData(), remove(), split(), truncate(), and verify().

◆ thePageSize

const sal_uInt16 store::OStoreBTreeNodeData::thePageSize = base::theSize + self::theSize
static

Definition at line 88 of file stortree.hxx.

Referenced by capacity(), OStoreBTreeNodeData(), usage(), and usageCount().

◆ theSize

const size_t store::OStoreBTreeNodeData::theSize = sizeof(G)
static

Definition at line 87 of file stortree.hxx.

◆ theTypeId

const sal_uInt32 store::OStoreBTreeNodeData::theTypeId = STORE_MAGIC_BTREENODE
static

Definition at line 85 of file stortree.hxx.

Referenced by OStoreBTreeNodeData().


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