Graphite  Version 3
An experimental 3D geometry processing program
OGF::MetaType Class Reference

The representation of a type in the Meta repository. More...

#include <OGF/gom/reflection/meta_type.h>

Inheritance diagram for OGF::MetaType:
OGF::MetaInformation OGF::Object OGF::CustomAttributes GEO::Counted OGF::MetaBuiltinType OGF::MetaClass OGF::MetaEnum OGF::DynamicMetaClass

Public Member Functions

 MetaType (const std::string &name)
 MetaType constructor. More...
 
 ~MetaType () override
 MetaType destructor.
 
const std::string & name () const
 Gets the C++ name of the type. More...
 
void set_typeid_name (const std::string &typeid_name)
 Sets the typeid name. More...
 
const std::string & typeid_name () const
 Gets the typeid name. More...
 
LifeCyclelife_cycle () const
 Gets the LifeCycle associated with the type. More...
 
void set_life_cycle (LifeCycle *life_cycle)
 Sets the LifeCycle associated with the type. More...
 
Serializerserializer () const
 Gets the serializer associated with the type. More...
 
void set_serializer (Serializer *ser)
 Sets the serializer associated with the type. More...
 
virtual void pre_delete ()
 Removes all variables that use the meta type system before deleting. More...
 
- Public Member Functions inherited from OGF::MetaInformation
virtual void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring. More...
 
bool has_custom_attribute (const std::string &name) const
 Tests whether a given custom attribute exists. More...
 
std::string ith_custom_attribute_name (index_t i) const
 Gets the name of a custom attribute by index. More...
 
std::string ith_custom_attribute_value (index_t i) const
 Gets the value of a custom attribute by index. More...
 
std::string custom_attribute_value (const std::string &name) const
 Gets the value of a new custom attribute. More...
 
void create_custom_attribute (const std::string &name, const std::string &value)
 Creates a new custom attribute. More...
 
void set_custom_attribute (const std::string &name, const std::string &value)
 Sets the value of a new custom attribute. More...
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor. More...
 
virtual ~Object ()
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class. More...
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class. More...
 
unsigned int id () const
 Gets the identifier of this object. More...
 
std::string string_id () const
 Gets the unique string identifier. More...
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined. More...
 
virtual bool invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val)
 Invokes a method by method name and argument list, and gets the return value. More...
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list. More...
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name. More...
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined. More...
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property. More...
 
virtual Connectionconnect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name)
 Connects a signal with a slot of another object. More...
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object. More...
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object. More...
 
virtual void get_element (index_t i, Any &value) const
 Gets an element by index. More...
 
virtual void set_element (index_t i, const Any &value)
 Sets an element by index. More...
 
bool get_signals_enabled () const
 Tests wheter signals are enabled. More...
 
void set_signals_enabled (bool value)
 Enables or disables signals. More...
 
bool get_slots_enabled () const
 Tests wheter slots are enabled. More...
 
void set_slots_enabled (bool value)
 Enables or disables slots. More...
 
MetaClassget_meta_class () const
 Gets the meta class. More...
 
std::string get_string_id () const
 Gets the unique string identifier. More...
 
virtual std::string get_doc () const
 Gets the documentation. More...
 
virtual Sign compare (const Object *other) const
 Compares this object with another one. More...
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type. More...
 
void disconnect ()
 Removes all connections from signals of this objects. More...
 
void enable_signals ()
 Enables signals.
 
void disable_signals ()
 Disables signals.
 
void enable_slots ()
 Enables slots.
 
void disable_slots ()
 Disables slots.
 
void set_properties (const ArgList &args)
 Sets several properties in a single call. More...
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property. More...
 
void help () const
 Displays some help about this object. More...
 
virtual bool set_property (const std::string &name, const Any &value)
 Sets an individual property. More...
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property. More...
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count. More...
 
void unref () const
 Decrements the reference count. More...
 
bool is_shared () const
 Check if the object is shared. More...
 
int nb_refs () const
 Gets the number of references that point to this object. More...
 
- Public Member Functions inherited from OGF::CustomAttributes
size_t nb_custom_attributes () const
 Gets the number of custom attributes. More...
 
std::string ith_custom_attribute_name (index_t i) const
 Gets the name of a custom attribute by index. More...
 
std::string ith_custom_attribute_value (index_t i) const
 Gets the value of a custom attribute by index. More...
 
bool has_custom_attribute (const std::string &name) const
 Tests whether a given custom attribute exists. More...
 
void create_custom_attribute (const std::string &name, const std::string &value)
 Creates a new custom attribute. More...
 
void set_custom_attribute (const std::string &name, const std::string &value)
 Sets the value of a new custom attribute. More...
 
std::string custom_attribute_value (const std::string &name) const
 Gets the value of a new custom attribute. More...
 
void clear_custom_attributes ()
 Clears the custom attributes.
 

Public Attributes

 __pad0__: virtual bool is_subtype_of(const MetaType* other) const
 
 __pad1__: const std::string& get_name() const { return name()
 
- Public Attributes inherited from OGF::MetaInformation
 __pad0__: size_t nb_custom_attributes() const
 
- Public Attributes inherited from OGF::Object
 __pad0__: virtual index_t get_nb_elements() const
 
 __pad1__: bool equals(const Object* other) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id. More...
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count. More...
 
static void unref (const Counted *counted)
 Decrements the reference count. More...
 
- Protected Member Functions inherited from OGF::Object
virtual bool emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false)
 Emits a signal and calls the slots it is connected to. More...
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object. More...
 
virtual ~Counted ()
 Destroys a reference counted object. More...
 

Detailed Description

The representation of a type in the Meta repository.

Definition at line 221 of file meta_type.h.

Constructor & Destructor Documentation

◆ MetaType()

OGF::MetaType::MetaType ( const std::string &  name)
explicit

MetaType constructor.

Parameters
[in]nameC++ name of the type

Member Function Documentation

◆ life_cycle()

LifeCycle* OGF::MetaType::life_cycle ( ) const
inline

Gets the LifeCycle associated with the type.

Returns
a pointer to the LifeCycle or nil if none is available

Definition at line 267 of file meta_type.h.

◆ name()

const std::string& OGF::MetaType::name ( ) const
inline

Gets the C++ name of the type.

Returns
the C++ name of the type (as in C++ sources, with OGF:: scope)

Definition at line 241 of file meta_type.h.

◆ pre_delete()

virtual void OGF::MetaType::pre_delete ( )
virtual

Removes all variables that use the meta type system before deleting.

If we do not do that, when deleting the meta type system, we can delete the meta information in the wrong order, and delete first meta classes that we needed to delete other ones.

Reimplemented in OGF::MetaClass.

◆ serializer()

Serializer* OGF::MetaType::serializer ( ) const
inline

Gets the serializer associated with the type.

Returns
a pointer to the Serializer or nil if none is available

Definition at line 286 of file meta_type.h.

◆ set_life_cycle()

void OGF::MetaType::set_life_cycle ( LifeCycle life_cycle)
inline

Sets the LifeCycle associated with the type.

Parameters
[in]life_cyclea pointer to the LifeCycle. Ownership is transfered to this MetaType.

Definition at line 276 of file meta_type.h.

◆ set_serializer()

void OGF::MetaType::set_serializer ( Serializer ser)
inline

Sets the serializer associated with the type.

Parameters
[in]sera pointer to the serializer. Ownership is transfered to this MetaType.

Definition at line 295 of file meta_type.h.

◆ set_typeid_name()

void OGF::MetaType::set_typeid_name ( const std::string &  typeid_name)
inline

Sets the typeid name.

Parameters
[in]typeid_namethe typeid name, as obtained by typeid(T).name()

Definition at line 250 of file meta_type.h.

◆ typeid_name()

const std::string& OGF::MetaType::typeid_name ( ) const
inline

Gets the typeid name.

Returns
the typeid name, as obtained by typeid(T).name()

Definition at line 258 of file meta_type.h.


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