LibreOffice Module store (master) 1
|
#include <stortree.hxx>
Public Member Functions | |
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 OStorePageObject | base |
typedef OStoreBTreeNodeObject | self |
typedef OStoreBTreeNodeData | page |
typedef OStoreBTreeEntry | T |
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< PageData > | m_xPage |
Representation. More... | |
bool | m_bDirty |
Definition at line 164 of file stortree.hxx.
|
private |
Definition at line 166 of file stortree.hxx.
|
private |
Definition at line 168 of file stortree.hxx.
|
private |
Definition at line 167 of file stortree.hxx.
|
private |
Definition at line 170 of file stortree.hxx.
|
inlineexplicit |
Definition at line 173 of file stortree.hxx.
|
overridevirtual |
Implements store::OStorePageObject.
Definition at line 131 of file stortree.cxx.
References store::PageHolderObject< T >::guard(), and store::OStorePageObject::m_xPage.
storeError OStoreBTreeNodeObject::remove | ( | sal_uInt16 | nIndexL, |
OStoreBTreeEntry & | rEntryL, | ||
OStorePageBIOS & | rBIOS | ||
) |
remove (down to leaf node, recursive).
Definition at line 191 of file stortree.cxx.
References store::OStoreBTreeEntry::compare(), store::OStoreBTreeEntry::COMPARE_EQUAL, store::OStorePageObject::dirty(), store::OStorePageBIOS::free(), store::OStorePageObject::get(), store::OStorePageBIOS::loadObjectAt(), store::OStorePageLink::location(), store::OStorePageObject::location(), store::OStoreBTreeEntry::m_aKey, store::OStoreBTreeEntry::m_aLink, store::OStorePageObject::m_xPage, remove(), store::OStorePageBIOS::saveObjectAt(), store_E_InvalidAccess, store_E_None, store_E_NotExists, and store::OStorePageObject::touch().
Referenced by remove(), and store::OStorePageManager::remove_Impl().
storeError OStoreBTreeNodeObject::split | ( | sal_uInt16 | nIndexL, |
PageHolderObject< page > & | rxPageL, | ||
OStorePageBIOS & | rBIOS | ||
) |
split.
rxPageL | [inout] left child to be split |
Definition at line 141 of file stortree.cxx.
References store::OStorePageBIOS::allocate(), store::OStorePageBIOS::allocator(), store::PageHolderObject< T >::construct(), store::PageHolderObject< T >::get(), store::PageHolderObject< T >::is(), store::OStorePageObject::location(), store::OStoreBTreeEntry::m_aKey, store::OStorePageObject::m_xPage, store::OStorePageBIOS::saveObjectAt(), store_E_InvalidAccess, store_E_None, and store_E_OutOfMemory.
Referenced by store::OStoreBTreeRootObject::find_insert().
|
overridevirtual |
Implements store::OStorePageObject.
Definition at line 136 of file stortree.cxx.
References store::OStorePageObject::m_xPage, and store::PageHolderObject< T >::verify().