LibreOffice Module store (master) 1
|
#include <stortree.hxx>
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< PageData > | m_xPage |
Representation. More... | |
bool | m_bDirty |
Definition at line 197 of file stortree.hxx.
|
private |
Definition at line 199 of file stortree.hxx.
|
private |
Definition at line 200 of file stortree.hxx.
|
private |
Definition at line 202 of file stortree.hxx.
|
inlineexplicit |
Definition at line 205 of file stortree.hxx.
|
private |
change (Root).
rxPageL | [out] prev. root (needs split) |
Definition at line 296 of file stortree.cxx.
References store::OStorePageBIOS::allocate(), store::OStorePageBIOS::allocator(), store::PageHolderObject< T >::construct(), store::PageHolderObject< T >::get(), store::OStoreBTreeEntry::m_aLink, store::OStorePageObject::m_xPage, store::OStorePageBIOS::saveObjectAt(), store_E_None, store_E_OutOfMemory, store::PageHolderObject< T >::swap(), and testInvariant().
Referenced by find_insert().
storeError OStoreBTreeRootObject::find_insert | ( | OStoreBTreeNodeObject & | rNode, |
sal_uInt16 & | rIndex, | ||
OStorePageKey const & | rKey, | ||
OStorePageBIOS & | rBIOS | ||
) |
find_insert (possibly with split()).
Precond: root node page loaded.
Definition at line 405 of file stortree.cxx.
References change(), store::OStoreBTreeEntry::compare(), store::OStoreBTreeEntry::COMPARE_EQUAL, store::OStoreBTreeEntry::COMPARE_LESS, store::OStorePageObject::get(), i, store::OStorePageBIOS::loadObjectAt(), store::PageData::location(), store::OStorePageObject::m_xPage, store::OStorePageObject::makeHolder(), n, result, SAL_WARN, store::OStoreBTreeNodeObject::split(), store_E_AlreadyExists, store_E_None, store_E_NotExists, store_E_Unknown, STORE_PAGE_NULL, and testInvariant().
Referenced by store::OStorePageManager::save_dirpage_Impl().
storeError OStoreBTreeRootObject::find_lookup | ( | OStoreBTreeNodeObject & | rNode, |
sal_uInt16 & | rIndex, | ||
OStorePageKey const & | rKey, | ||
OStorePageBIOS & | rBIOS | ||
) | const |
find_lookup (w/o split()).
Precond: root node page loaded.
Definition at line 338 of file stortree.cxx.
References store::OStoreBTreeEntry::compare(), store::OStoreBTreeEntry::COMPARE_LESS, store::OStorePageObject::get(), i, store::OStorePageBIOS::loadObjectAt(), store::PageData::location(), store::OStorePageObject::m_xPage, store::OStorePageObject::makeHolder(), n, SAL_WARN, store_E_None, store_E_NotExists, store_E_Unknown, STORE_PAGE_NULL, and testInvariant().
Referenced by store::OStorePageManager::find_lookup(), and store::OStorePageManager::iterate().
storeError OStoreBTreeRootObject::loadOrCreate | ( | sal_uInt32 | nAddr, |
OStorePageBIOS & | rBIOS | ||
) |
Definition at line 275 of file stortree.cxx.
References store::OStorePageBIOS::allocate(), store::OStorePageBIOS::allocator(), store::OStorePageBIOS::loadObjectAt(), store_E_None, store_E_NotExists, store_E_Pending, and testInvariant().
Referenced by store::OStorePageManager::initialize().
|
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().