LibreOffice Module store (master) 1
Public Member Functions | Private Types | Private Member Functions | List of all members
store::OStoreBTreeRootObject Class Reference

#include <stortree.hxx>

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

Public Member Functions

 OStoreBTreeRootObject (std::shared_ptr< PageData > const &rxPage=std::shared_ptr< PageData >())
 
storeError loadOrCreate (sal_uInt32 nAddr, OStorePageBIOS &rBIOS)
 
storeError find_lookup (OStoreBTreeNodeObject &rNode, sal_uInt16 &rIndex, OStorePageKey const &rKey, OStorePageBIOS &rBIOS) const
 find_lookup (w/o split()). More...
 
storeError find_insert (OStoreBTreeNodeObject &rNode, sal_uInt16 &rIndex, OStorePageKey const &rKey, OStorePageBIOS &rBIOS)
 find_insert (possibly with split()). More...
 
- Public Member Functions inherited from store::OStoreBTreeNodeObject
 OStoreBTreeNodeObject (std::shared_ptr< PageData > const &rxPage=std::shared_ptr< PageData >())
 
virtual storeError guard (sal_uInt32 nAddr) override
 
virtual storeError verify (sal_uInt32 nAddr) const override
 
storeError split (sal_uInt16 nIndexL, PageHolderObject< page > &rxPageL, OStorePageBIOS &rBIOS)
 split. More...
 
storeError remove (sal_uInt16 nIndexL, OStoreBTreeEntry &rEntryL, OStorePageBIOS &rBIOS)
 remove (down to leaf node, recursive). More...
 
- Public Member Functions inherited from store::OStorePageObject
bool dirty () const
 State. More...
 
void clean ()
 
void touch ()
 
sal_uInt32 location () const
 Location. More...
 
template<class U >
PageHolderObject< U > makeHolder () const
 
template<class U >
storeError construct (rtl::Reference< PageData::Allocator > const &rxAllocator)
 
std::shared_ptr< PageData > & get ()
 
virtual storeError guard (sal_uInt32 nAddr)=0
 
virtual storeError verify (sal_uInt32 nAddr) const =0
 

Private Types

typedef OStoreBTreeNodeObject base
 
typedef OStoreBTreeNodeData page
 
typedef OStoreBTreeEntry T
 

Private Member Functions

void testInvariant (char const *message) const
 testInvariant. More...
 
storeError change (PageHolderObject< page > &rxPageL, OStorePageBIOS &rBIOS)
 change (Root). More...
 

Additional Inherited Members

- Static Public Member Functions inherited from store::OStorePageObject
static void * operator new (size_t n)
 Allocation. More...
 
static void operator delete (void *p)
 
- Protected Member Functions inherited from store::OStorePageObject
 OStorePageObject (std::shared_ptr< PageData > rxPage)
 Construction. More...
 
virtual ~OStorePageObject ()
 Destruction. More...
 
- Protected Attributes inherited from store::OStorePageObject
std::shared_ptr< PageDatam_xPage
 Representation. More...
 
bool m_bDirty
 

Detailed Description

Definition at line 197 of file stortree.hxx.

Member Typedef Documentation

◆ base

Definition at line 199 of file stortree.hxx.

◆ page

Definition at line 200 of file stortree.hxx.

◆ T

Definition at line 202 of file stortree.hxx.

Constructor & Destructor Documentation

◆ OStoreBTreeRootObject()

store::OStoreBTreeRootObject::OStoreBTreeRootObject ( std::shared_ptr< PageData > const &  rxPage = std::shared_ptr<PageData>())
inlineexplicit

Definition at line 205 of file stortree.hxx.

Member Function Documentation

◆ change()

storeError OStoreBTreeRootObject::change ( PageHolderObject< page > &  rxPageL,
OStorePageBIOS rBIOS 
)
private

◆ find_insert()

storeError OStoreBTreeRootObject::find_insert ( OStoreBTreeNodeObject rNode,
sal_uInt16 &  rIndex,
OStorePageKey const &  rKey,
OStorePageBIOS rBIOS 
)

◆ find_lookup()

storeError OStoreBTreeRootObject::find_lookup ( OStoreBTreeNodeObject rNode,
sal_uInt16 &  rIndex,
OStorePageKey const &  rKey,
OStorePageBIOS rBIOS 
) const

◆ loadOrCreate()

storeError OStoreBTreeRootObject::loadOrCreate ( sal_uInt32  nAddr,
OStorePageBIOS rBIOS 
)

◆ testInvariant()

void OStoreBTreeRootObject::testInvariant ( char const *  message) const
private

testInvariant.

Precond: root node page loaded.

Definition at line 269 of file stortree.cxx.

References store::OStorePageObject::m_xPage, and SAL_WARN_IF.

Referenced by change(), find_insert(), find_lookup(), and loadOrCreate().


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