class c4_Storage

Manager for persistent storage of view structures.

Public members
c4_Storage ();
Construct streaming-only storage object
c4_Storage (c4_Strategy& strategy_, bool owned_ =false);
Construct a storage using the specified strategy handler
c4_Storage (const char* filename_, const char* description_);
Construct a storage object for given file and format
c4_Storage (const char* filename_, bool canModify_);
Construct a storage object, keeping the current structure
c4_Storage (const c4_Storage&);
Copy constructor
~c4_Storage ();
Destructor, usually closes file, but does not commit by default
c4_Storage& operator= (const c4_Storage&);
Assignment of storage implements reference semantics
void AutoCommit ();
Set storage up to always call Commit in the destructor
c4_RowRef Contents () const;
Give access to the stored data as a single row
c4_Strategy& Strategy () const;
Return the strategy object associated with this storage
c4_HandlerSeq& RootTable () const;
Return the root table entry
const char* Description (const char* name_ =0);
Return a description of the view structure (default is all)
bool Commit ();
Flush pending changes to file right now
bool Rollback ();
(Re)initialize for on-demand loading
c4_ViewRef View (const char* name_);
Get or set a named view in this storage object
c4_View GetAs (const char* description_);
Get a named view, redefining it to match the given structure
c4_View Store (const char* name_, const c4_View& view_);
Attach a view using specified name in this storage object
void LoadFrom (c4_Stream& stream_);
Load contents from the specified input stream
void SaveTo (c4_Stream& stream_);
Save contents to the specified output stream


Header file "mk4.h"   --   Dec 9, 1999