Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

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.


Public Types

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 auto_free=false, void *id=NULL)
void append (const T &data, bool auto_free=false, void *id=NULL)
void prepend (const T &data, bool auto_free=false, void *id=NULL)
void append (const T *data, bool auto_free=false, void *id=NULL)
void prepend (const T *data, bool auto_free=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 Sun Jul 10 16:29:27 2005 for WvStreams by  doxygen 1.4.0