xapian-core  1.4.21
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Glass::Cursor Class Reference

#include <glass_cursor.h>

Public Member Functions

 Cursor ()
 Constructor. More...
 ~Cursor ()
uint8_t * init (unsigned block_size)
const uint8_t * clone (const Cursor &o)
void swap (Cursor &o)
void destroy ()
uint4refs () const
uint4 get_n () const
 Get the block number. More...
void set_n (uint4 n)
const uint8_t * get_p () const
 Get pointer to block. More...
uint8_t * get_modifiable_p (unsigned block_size)

Public Attributes

int c
 offset in the block's directory More...
bool rewrite
 true if the block is not the same as on disk, and so needs rewriting More...

Private Member Functions

 Cursor (const Cursor &)
Cursoroperator= (const Cursor &)

Private Attributes

char * data
 Pointer to reference counted data. More...

Detailed Description

Definition at line 40 of file glass_cursor.h.

Constructor & Destructor Documentation

◆ Cursor() [1/2]

Glass::Cursor::Cursor ( const Cursor )

◆ Cursor() [2/2]

Glass::Cursor::Cursor ( )


Definition at line 50 of file glass_cursor.h.

◆ ~Cursor()

Glass::Cursor::~Cursor ( )

Definition at line 52 of file glass_cursor.h.

References destroy().

Member Function Documentation

◆ clone()

const uint8_t* Glass::Cursor::clone ( const Cursor o)

◆ destroy()

void Glass::Cursor::destroy ( )

Definition at line 83 of file glass_cursor.h.

References data, refs(), and rewrite.

Referenced by clone(), GlassTable::close(), GlassCursor::rebuild(), and ~Cursor().

◆ get_modifiable_p()

uint8_t* Glass::Cursor::get_modifiable_p ( unsigned  block_size)

Definition at line 121 of file glass_cursor.h.

References rare, and refs().

◆ get_n()

uint4 Glass::Cursor::get_n ( ) const

Get the block number.

Returns BLK_UNUSED if no block is currently loaded.

Definition at line 101 of file glass_cursor.h.

References alignment_cast(), and Assert.

Referenced by GlassTableCheck::block_check(), GlassTableCheck::check(), GlassTable::commit(), GlassTable::next_for_sequential(), GlassTable::prev_for_sequential(), and GlassTableCheck::report_cursor().

◆ get_p()

const uint8_t* Glass::Cursor::get_p ( ) const

Get pointer to block.

Returns NULL if no block is currently loaded.

Definition at line 116 of file glass_cursor.h.

References rare.

Referenced by GlassTableCheck::block_check(), GlassTable::next_default(), GlassTable::next_for_sequential(), and GlassTable::prev_default().

◆ init()

uint8_t* Glass::Cursor::init ( unsigned  block_size)

◆ operator=()

Cursor& Glass::Cursor::operator= ( const Cursor )

◆ refs()

uint4& Glass::Cursor::refs ( ) const

Definition at line 92 of file glass_cursor.h.

References alignment_cast(), Assert, and data.

Referenced by clone(), destroy(), get_modifiable_p(), and init().

◆ set_n()

void Glass::Cursor::set_n ( uint4  n)

◆ swap()

void Glass::Cursor::swap ( Cursor o)

Definition at line 77 of file glass_cursor.h.

References c, data, and rewrite.

Referenced by GlassCursor::rebuild().

Member Data Documentation

◆ c

int Glass::Cursor::c

◆ data

char* Glass::Cursor::data

Pointer to reference counted data.

Definition at line 46 of file glass_cursor.h.

Referenced by clone(), destroy(), refs(), and swap().

◆ rewrite

bool Glass::Cursor::rewrite

true if the block is not the same as on disk, and so needs rewriting

Definition at line 137 of file glass_cursor.h.

Referenced by GlassTable::block_to_cursor(), GlassTable::cancel(), destroy(), init(), GlassTableCheck::report_cursor(), and swap().

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