rooMetaObject


class description - source file - inheritance tree

class rooMetaObject : public roo


    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)

Data Members

protected:
rooScope* fScope the scope in which the described entity is defined


See also

rooModule, rooProperty, rooType

Class Description

 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.