Inheritance diagram for c4_Property:
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). |
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.
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.
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.