Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

c4_Property Class Reference

Base class for the basic data types. More...

Inheritance diagram for c4_Property:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 c4_Property (char, int)
 Construct a new property with the give type and id.
 c4_Property (char, const char *)
 Construct a new property with the give type and name.
const char * Name () const
 Return the name of this property.
char Type () const
 Return the type of this property.
int GetId () const
 Return a unique id for this property.
c4_Reference operator() (const c4_RowRef &) const
 Get or set this untyped property in a row.
void Refs (int) const
 Adjust the reference count.
c4_View operator, (const c4_Property &) const
 Return a view like the first, with a property appended to it.

Static Public Member Functions

static void CleanupInternalData ()
 Call this to get rid of some internal datastructues (on exit).

Detailed Description

Base class for the basic data types.

Property objects exist independently of view, row, and storage objects. They have a name and type, and can appear in any number of views. You will normally only use derived classes, to maintain strong typing.


Member Function Documentation

int c4_Property::GetId  )  const [inline]
 

Return a unique id for this property.

A property object in fact merely represents an entry in a globally maintained symbol table. Each property is assigned a unique id, which remains valid as long as some reference to that property exists. In general, property id's remain unique as long as the application runs. Do not store id's on file, since they are not guaranteed to remain the same across program invocations. All properties with the same name are given the same id.

void c4_Property::Refs int  diff_  )  const
 

Adjust the reference count.

This is part of the implementation and shouldn't normally be called. This code is only called with the lock held, and always thread-safe.


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

Metakit C++ API Reference - https://www.equi4.com/metakit.html - extracted with Doxygen