class c4_Sequence

A sequence is an abstract base class for views on ranges of records.

Public members
c4_Sequence ();
Abstract constructor
virtual int Compare (int, c4_Cursor) const;
Compare the specified row with another one
void SetAt (int, c4_Cursor);
Replace the contents of a specified row
virtual int RemapIndex (int, const c4_Sequence*) const;
Remap the index to an underlying view
const char* Describe ();
Return a descriptions of the current data structure
void IncRef ();
Increment the reference count of this sequence
void DecRef ();
Decrement the reference count, delete objects when last
int NumRefs () const;
Return the current number of references to this sequence
virtual int Size () const;
Return the current number of rows
void Resize (int, int =-1);
Change number of rows, either by inserting or removing them
virtual void InsertAt (int, c4_Cursor, int =1);
Insert one or more rows into this sequence
virtual void RemoveAt (int, int =1);
Remove one or more rows from this sequence
virtual void Move (int, int);
Move a row to another position
int NthPropId (int) const;
Return the id of the N-th property
int PropIndex (int);
Find the index of a property by its id
int PropIndex (const c4_Property&);
Find the index of a property, or create a new entry
virtual int NumHandlers () const;
Return the number of data handlers in this sequence
virtual c4_Handler& NthHandler (int) const;
Return a reference to the N-th handler in this sequence
virtual const c4_Sequence* HandlerContext (int) const;
Return the context of the N-th handler in this sequence
virtual int AddHandler (c4_Handler*);
Add the specified data handler to this sequence
virtual c4_Handler* CreateHandler (const c4_Property&);
Create a handler of the appropriate type
virtual int ItemSize (int index_, int propId_);
Return width of specified data item
virtual bool Get (int, int, c4_Bytes&);
Retrieve one data item from this sequence
virtual void Set (int, const c4_Property&, const c4_Bytes&);
Store a data item into this sequence
void Attach (c4_Sequence* child_);
Register a sequence to receive change notifications
void Detach (c4_Sequence* child_);
Unregister a sequence which received change notifications
c4_Dependencies* GetDependencies () const;
Return a pointer to the dependencies, or null
virtual c4_Notifier* PreChange (c4_Notifier& nf_);
Called just before a change is made to the sequence
virtual void PostChange (c4_Notifier& nf_);
Called after changes have been made to the sequence
const char* UseTempBuffer (const char*);
virtual void SetSize (int size_);
c4_Bytes& Buffer ();
Gives access to a general purpose temporary buffer
Protected members
int _propertyLimit;
short* _propertyMap;
c4_Bytes* _tempBuf;
virtual ~c4_Sequence ();
void ClearCache ();


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