beautypg.com

Chapter 9: using class rwbtreeondisk – HP Integrity NonStop J-Series User Manual

Page 93

background image

Click on the banner to return to the user guide home page.

©Copyright 1996 Rogue Wave Software

Chapter 9: Using Class
RWBTreeOnDisk

Construction

Example

Class

RWBTreeOnDisk

has been designed to manage a B-tree in a disk file. The class

represents an ordered collection of associations of keys and values, where the ordering is
determined internally by comparing keys. Given a key, a value can be retrieved. Duplicate keys
are not allowed.

Keys are arrays of char. The key length is set by the constructor. The ordering in the B-tree is
determined by comparing keys with an external function, which you can change.

The type of the values is:

typedef long RWstoredValue;

The values typically represent an offset to a location in a file where an object is stored. Given a
key, you can find where an object is stored and retrieve it. As far as class

RWBTreeOnDisk

is

concerned, however, the value has no special meaning_it is up to you to interpret it.

The class

RWBTreeOnDisk

uses class

RWFileManager

to manage the allocation and

deallocation of space for the nodes of the B-tree. You can use the same RWFileManager to
manage the space for the objects themselves if the B-tree and data are to be in the same file.
Alternatively, you could use a different RWFileManager, managing a different file, to store the
B-tree and data in separate files.

The member functions associated with class

RWBTreeOnDisk

are similar to those of the

in-memory class

RWBTreeDictionary

, except that keys are arrays of char rather than

RWCollectable

s. There are member functions to add a key-value pair, remove a pair, replace a

value associated with a key, query for information associated with a key, operate on all
key-value pairs in order, return the number of entries in the tree, and determine if a key is
contained in the tree.

This manual is related to the following products: