rooMetaObject
class description - source file - inheritance tree
public:
rooMetaObject rooMetaObject()
rooMetaObject rooMetaObject(void* imp)
rooMetaObject rooMetaObject(rooMetaObject&)
virtual void ~rooMetaObject()
TClass* Class()
TString comment() const
virtual UInt_t id() const
virtual Bool_t is_class() const
virtual Bool_t is_module() const
virtual Bool_t is_type() const
virtual TClass* IsA() const
TString name() const
virtual size_t operator size_t() const
void set_comment(const TString&)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
protected:
rooScope* fScope the scope in which the described entity is defined
See also
-
rooModule, rooProperty, rooType
rooMetaObject corresponds to d_Meta_Object Class
The class rooMetaObject is the abstract base class for descriptor classes
that describe named entities (modules, classes, attributes, and so on) in
the federated database schema, and for descriptor classes that describe
proposed additions or modifications to the schema. Each concrete class
derived from this class describes one particular kind of schema entity or
proposal. An instance of any concrete class derived from rooMetaObject is
called a descriptor.
______________________________________________________________________________
About Descriptors
As the name of this class implies, a descriptor is a meta-object -- that is,
an object that provides information about a "real" object. Each descriptor
provides information about a particular named entity in a federated database
called its described entity. In addition to the persistent information from
the federated database schema, a descriptor can have a transient comment.
The comment is associated with a descriptor only during the interaction in
which the descriptor was obtained; it is not saved persistently with the
described entity in the federated database schema.
Because this class is abstract, you never instantiate it; instead, you work
with instances of its concrete derived classes. You should not derive your
own classes from this class.
rooMetaObject( aka d_Meta_Object) is part of the ODMG standard.
A rooMetaObject has a name which can be looked up in a scope. Types,
including classes, are meta-objects named in rooModule(aka d_Module,schema)
scope and class attributes are meta-objects named in
rooClass(aka d_Class) scope.
All rooMetaObjects have a name string returned by name(). Comments
added with set_comment() are transient only; they are not saved in
the database. The id() method returns an unsigned integer unique to
the meta-object within its scope; for subclasses of rooType(aka d_Type),
its return value will be the same as for type_number(), and for subclasses
of rooProperty(aka d_Property), its return value will be the Objectivity
member ID. The method defined_in() returns the scope of the object.
rooMetaObjects are never constructed, only returned by scope methods.
For example:
const rooMetaObject &metaObjConstRef = module.resolve("typeName");
rooMetaObject()
internal use only
~rooMetaObject()
dtor.
TString name() const
Gets the name of the described entity.
TString comment() const
Gets the transient comment associated with this descriptor.
See also set_comment()
UInt_t id() const
Gets the unique ID that identifies the described entity within its scope.
Returns The ID for the described entity, or kooNoID if the described
entity does not have an ID. If this is the null descriptor, this member
function returns 0.
Existing entities in the schema have IDs; proposed changes to the
schema do not. Active Schema uses an ID to identify an existing entity
uniquely within its scope. If the described entity is a class or
non-class type, its ID is the same as its type number. If the described
entity is a property, its ID is the same as its Objectivity
attribute ID.
Bool_t is_type() const
Tests whether the described entity is a type.
Bool_t is_class() const
ests whether the described entity is a class.
Bool_t is_module() const
Tests whether the described entity is a module.
void set_comment(const TString& comm)
Sets the transient comment for this descriptor, replacing any
existing comment.
The comment is associated with this descriptor only during the
interaction in which this descriptor was obtained; it is not saved
persistently with the described entity in the federated database schema.
See also comment()
Inline Functions
rooMetaObject rooMetaObject(void* imp)
size_t operator size_t() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
rooMetaObject rooMetaObject(rooMetaObject&)
Author: Valeriy Onuchin 11/09/2000
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.