WvOnDiskList< T, Backend > Class Template Reference

#include <wvondisklist.h>

List of all members.


Detailed Description

template<typename T, typename Backend = DefaultHash>
class WvOnDiskList< T, Backend >

A class similar to WvList, but storing its values on disk in a WvOnDiskHash.

FIXME: I have no idea if this is fast, slow, stupid, or ingenious. I suspect it's probably quite inefficient - doing it entirely without the hash and writing our own space allocator would probably make more sense.

FIXME: we should use a common non-templated base class rather than implementing everything inline.

FIXME: if HEAD and TAIL weren't hardcoded, we could put more than one list in the same WvOnDiskHash. This would probably be pretty useful.

Definition at line 97 of file wvondisklist.h.

Public Types

 HEAD = 0
 TAIL = -1000
enum  { HEAD = 0, TAIL = -1000 }

Public Member Functions

Index retrieve (Index i)
void save (Index i, Index next, const T *data)
 WvOnDiskList (WvStringParm filename)
void init ()
void zap ()
size_t count ()
bool isempty ()
T * first ()
T * last ()
void add_after (Index after, const T *data, bool autofree=false, void *id=NULL)
void append (const T &data, bool autofree=false, void *id=NULL)
void prepend (const T &data, bool autofree=false, void *id=NULL)
void append (const T *data, bool autofree=false, void *id=NULL)
void prepend (const T *data, bool autofree=false, void *id=NULL)
void unlink_first ()
void unlink_after (Index prev)

Public Attributes

WvOnDiskList::Link saved

Friends

class WvOnDiskList::Iter

Classes

class  Iter
struct  Link


The documentation for this class was generated from the following file:
Generated on Wed Jul 12 17:53:34 2006 for WvStreams by  doxygen 1.4.7