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

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

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

Inheritance diagram for OGF::MetaConstructor:
OGF::MetaMethod OGF::MetaMember OGF::MetaInformation OGF::Object OGF::CustomAttributes GEO::Counted

Public Member Functions

 MetaConstructor (MetaClass *mclass)
 Constructs a new MetaConstructor. More...
 
virtual ~MetaConstructor ()
 MetaConstructor destructor.
 
Factoryfactory () const
 Gets the factory associated with this MetaConstructor. More...
 
void set_factory (Factory *f)
 Sets the factory associated with this MetaConstructor. More...
 
- Public Member Functions inherited from OGF::MetaMethod
 MetaMethod (const std::string &name, MetaClass *container, const std::string &return_type)
 MetaMethod constructor. More...
 
 MetaMethod (const std::string &name, MetaClass *container, MetaType *return_type)
 MetaMethod constructor. More...
 
 ~MetaMethod () override
 MetaMethod destructor.
 
void pre_delete () override
 Removes all variables that use the meta type system before deleting. More...
 
std::string get_doc () const override
 Gets the documentation. More...
 
const std::string & ith_arg_name (index_t i) const
 Gets the name of an argument by index. More...
 
const std::string & ith_arg_type_name (index_t i) const
 Gets the type name of an argument by index. More...
 
MetaTypeith_arg_type (index_t i) const
 Gets the type of an argument by index. More...
 
bool ith_arg_has_default_value (index_t i) const
 Tests whether an argument has a default value. More...
 
std::string ith_arg_default_value_as_string (index_t i) const
 Gets the default value of an argument. More...
 
const std::string & return_type_name () const
 Gets the return type name. More...
 
MetaTypereturn_type () const
 Gets the return type. More...
 
bool ith_arg_has_custom_attribute (index_t i, const std::string &name) const
 Tests whether an argument has a custom attribute. More...
 
std::string ith_arg_custom_attribute_value (index_t i, const std::string &name) const
 Gets the value of a custom attribute of an argument. More...
 
size_t ith_arg_nb_custom_attributes (index_t i)
 Gets the number of custom attribute of an argument. More...
 
std::string ith_arg_jth_custom_attribute_name (index_t i, index_t j)
 Gets a custom attribute name of an argument by index. More...
 
std::string ith_arg_jth_custom_attribute_value (index_t i, index_t j)
 Gets a custom attribute value of an argument by index. More...
 
const Anyith_arg_default_value (index_t i) const
 Gets the default value of an argument. More...
 
const MetaArgith_arg (index_t i) const
 Gets a const MetaArg by index. More...
 
MetaArgith_arg (index_t i)
 Gets a MetaArg by index. More...
 
void add_arg (const MetaArg &arg)
 Adds a new argument to the method. More...
 
bool has_arg (const std::string &meta_arg_name)
 Tests whether the method has an argument of a given name. More...
 
const MetaArgfind_arg (const std::string &meta_arg_name) const
 Finds an argument by name. More...
 
MetaArgfind_arg (const std::string &meta_arg_name)
 Finds an argument by name. More...
 
gom_method_adapter method_adapter () const
 Gets the method adapter. More...
 
void set_method_adapter (gom_method_adapter adapter)
 Sets the method adapter. More...
 
virtual bool invoke (Object *target, const ArgList &args, Any &return_value)
 Invokes this method on a target object. More...
 
virtual bool invoke (const std::string &method_name, const ArgList &args, Any &ret_val)
 Implements the dynamic invocation API for the MetaMethod object. More...
 
virtual bool check_args (const ArgList &args)
 Checks whether the specified ArgList contains all the required args. More...
 
virtual index_t nb_used_args (const ArgList &args)
 Counts the number of arguments this method would use when invoked on the specified args. More...
 
virtual index_t nb_default_args (const ArgList &args)
 Counts the number of arguments assigned with their default value when this method is invoked on the specified args. More...
 
virtual void add_default_args (ArgList &args)
 Adds the arguments with default values to an ArgList. More...
 
- Public Member Functions inherited from OGF::MetaMember
 MetaMember (const std::string &name, MetaClass *container)
 MetaMember constructor. More...
 
 ~MetaMember () override
 MetaMember destructor.
 
const std::string & name () const
 Gets the name of this MetaMember. 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 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.
 

Static Protected Member Functions

static bool constructor_method_adapter (Object *target, const std::string &method_name, const ArgList &args, Any &ret_val)
 The method adapter used for constructor. More...
 
- Static Protected Member Functions inherited from OGF::MetaMethod
static bool emit_signal (Object *target, const std::string &sig_name, const ArgList &args, bool called_from_slot=true)
 Emits a signal in a target object. More...
 

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...
 
- Public Attributes inherited from OGF::MetaMethod
 __pad0__: size_t nb_args() const { return meta_args_.size()
 
- Public Attributes inherited from OGF::MetaMember
 __pad0__: MetaClass* container_meta_class() const { return container_
 
 __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
 
- Protected Member Functions inherited from OGF::MetaMethod
bool emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=true) override
 Emits a signal from this MetaMethod. 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 constructor in the Meta repository.

Definition at line 54 of file meta_constructor.h.

Constructor & Destructor Documentation

◆ MetaConstructor()

OGF::MetaConstructor::MetaConstructor ( MetaClass mclass)
explicit

Constructs a new MetaConstructor.

The constructed MetaConstructor is automatically added to the MetaClass. The generic method adapter for constructors is automatically defined as the method adapter.

Parameters
[in]mclassa pointer to the MetaClass

Member Function Documentation

◆ constructor_method_adapter()

static bool OGF::MetaConstructor::constructor_method_adapter ( Object target,
const std::string &  method_name,
const ArgList args,
Any ret_val 
)
staticprotected

The method adapter used for constructor.

The same method adapter can be used by all constructors. It uses the factory registered with the MetaConstructor.

Parameters
[in]targetthe meta class
[in]method_namename of the constructor
[in]argsa const reference to the list of arguments
[out]ret_valthe constructed object, in an Any.
Return values
trueif successful
falseotherwise

◆ factory()

Factory* OGF::MetaConstructor::factory ( ) const
inline

Gets the factory associated with this MetaConstructor.

Returns
a pointer to the factory associated with this MetaConstructor, or nil if there is no factory.

Definition at line 77 of file meta_constructor.h.

◆ set_factory()

void OGF::MetaConstructor::set_factory ( Factory f)
inline

Sets the factory associated with this MetaConstructor.

Factories are typically automatically generated by the GOMGEN compiler.

Parameters
[in]fa pointer to the factory

Definition at line 88 of file meta_constructor.h.


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