Key_ Class Reference

#include <flint_table.h>

List of all members.

Public Member Functions

 Key_ (const byte *p_)
const byteget_address () const
void read (string *key) const
bool operator== (Key_ key2) const
bool operator!= (Key_ key2) const
bool operator< (Key_ key2) const
 Compares this key with key2.
bool operator>= (Key_ key2) const
bool operator> (Key_ key2) const
bool operator<= (Key_ key2) const
int length () const
char operator[] (size_t i) const

Private Attributes

const bytep


Detailed Description

Definition at line 95 of file flint_table.h.


Constructor & Destructor Documentation

Key_::Key_ ( const byte p_  )  [inline, explicit]

Definition at line 98 of file flint_table.h.


Member Function Documentation

const byte* Key_::get_address (  )  const [inline]

Definition at line 99 of file flint_table.h.

Referenced by FlintTable::enter_key(), FlintTable::find_in_block(), and Item_wr_::set_key_and_block().

void Key_::read ( string *  key  )  const [inline]

Definition at line 100 of file flint_table.h.

References K1.

Referenced by BtreeCheck::print_key().

bool Key_::operator== ( Key_  key2  )  const

Definition at line 2156 of file flint_table.cc.

References C2, DEBUGCALL, K1, length(), p, and RETURN.

bool Key_::operator!= ( Key_  key2  )  const [inline]

Definition at line 104 of file flint_table.h.

bool Key_::operator< ( Key_  key2  )  const

Compares this key with key2.

The result is true if this key precedes key2. The comparison is for byte sequence collating order, taking lengths into account. So if the keys are made up of lower case ASCII letters we get alphabetical ordering.

Now remember that items are added into the B-tree in fastest time when they are preordered by their keys. This is therefore the piece of code that needs to be followed to arrange for the preordering.

This is complicated by the fact that keys have two parts - a value and then a count. We first compare the values, and only if they are equal do we compare the counts.

Definition at line 2133 of file flint_table.cc.

References C2, DEBUGCALL, K1, length(), p, and RETURN.

bool Key_::operator>= ( Key_  key2  )  const [inline]

Definition at line 106 of file flint_table.h.

bool Key_::operator> ( Key_  key2  )  const [inline]

Definition at line 107 of file flint_table.h.

bool Key_::operator<= ( Key_  key2  )  const [inline]

Definition at line 108 of file flint_table.h.

int Key_::length (  )  const [inline]

Definition at line 109 of file flint_table.h.

References C2, getK, and K1.

Referenced by FlintTable::add(), FlintTable::enter_key(), operator<(), operator==(), BtreeCheck::print_key(), and Item_wr_::set_key_and_block().

char Key_::operator[] ( size_t  i  )  const [inline]

Definition at line 112 of file flint_table.h.

References K1.


Member Data Documentation

const byte* Key_::p [private]

Definition at line 96 of file flint_table.h.

Referenced by operator<(), and operator==().


The documentation for this class was generated from the following files:
Documentation for Xapian (version 1.0.10).
Generated on 24 Dec 2008 by Doxygen 1.5.2.