diff options
Diffstat (limited to 'src/core/common/Rtti.hpp')
| -rw-r--r-- | src/core/common/Rtti.hpp | 106 | 
1 files changed, 53 insertions, 53 deletions
| diff --git a/src/core/common/Rtti.hpp b/src/core/common/Rtti.hpp index 6b6eff0..fa2692f 100644 --- a/src/core/common/Rtti.hpp +++ b/src/core/common/Rtti.hpp @@ -34,7 +34,7 @@   * this would create a significant overhead.   *   * <b>How to use:</b> The Rtti class allows to attach information to a certain - * C++ class. To do so, create a global constant of the type RttiType in the + * C++ class. To do so, create a global constant of the type Rtti in the   * source file associated with the type declaration, where T is the type you   * want to register. As the type must only be registered once, you must not   * declare the variable as "static" in the header file (this would register it @@ -50,7 +50,7 @@   * // Only needed if the type needs to be accessed   * // from other compilation units!   * namespace RttiTypes { - *     extern const RttiType MyT; + *     extern const Rtti MyT;   * }   * \endcode   * In the source file: @@ -60,7 +60,7 @@   * // [...]   *   * namespace RttiTypes { - *     const RttiType MyT = RttiBuilder<ousia::MyT>("MyT"); + *     const Rtti MyT = RttiBuilder<ousia::MyT>("MyT");   * }   * \endcode   * @@ -79,14 +79,14 @@  namespace ousia { -class RttiType; +class Rtti;  class Function;  class PropertyDescriptor;  /** - * Type describing a set of RttiType pointers. + * Type describing a set of Rtti pointers.   */ -using RttiTypeSet = std::unordered_set<const RttiType *>; +using RttiSet = std::unordered_set<const Rtti *>;  /**   * Type describing a map containing methods and their name. @@ -109,11 +109,11 @@ private:  	 * Function used internally to access the static map storing all registered  	 * native types and their corresponding type information.  	 */ -	static std::unordered_map<std::type_index, const RttiType *> &table(); +	static std::unordered_map<std::type_index, const Rtti *> &table();  public:  	/** -	 * Registers the given pointer to the RttiType class in the RTTI table. Does +	 * Registers the given pointer to the Rtti class in the RTTI table. Does  	 * not override information for already registered types.  	 *  	 * @param native is a reference at the native type information provided @@ -121,19 +121,19 @@ public:  	 * @param rtti is a pointer pointing at the type information that should be  	 * stored for this type.  	 */ -	static void store(const std::type_info &native, const RttiType *rtti); +	static void store(const std::type_info &native, const Rtti *rtti);  	/**  	 * Looks up the type information stored for the given native type  	 * information.  	 */ -	static const RttiType &lookup(const std::type_info &native); +	static const Rtti &lookup(const std::type_info &native);  };  /**   * The RttiBuilderBase class is used to build new instances of the Rtti or the - * RttiType class. It follows the "Builder" pattern and allows to create - * the properties of the RttiType class by chaining method calls. The RttiType + * Rtti class. It follows the "Builder" pattern and allows to create + * the properties of the Rtti class by chaining method calls. The RttiType   * class can be constructed from the RttiBuilderBase instance. Use the   * RttiBuilder class for a more convenient, templated version that does not   * require the native C++ type in the constructor and allows for more convenient @@ -156,12 +156,12 @@ public:  	/**  	 * Set containing references to all parent types.  	 */ -	RttiTypeSet parentTypes; +	RttiSet parentTypes;  	/**  	 * Set containing references to all composite types.  	 */ -	RttiTypeSet compositeTypes; +	RttiSet compositeTypes;  	/**  	 * Map containing all methods. @@ -175,7 +175,7 @@ public:  	/**  	 * Default constructor, initializes the name of the type described by the -	 * RttiTypeSet with "unknown". +	 * RttiSet with "unknown".  	 *  	 * @param native is the native C++ type information for which the type  	 * information is being built. @@ -185,7 +185,7 @@ public:  	/**  	 * Default constructor, initializes the name of the type described by the -	 * RttiTypeSet with the given name. +	 * RttiSet with the given name.  	 *  	 * @param native is the native C++ type information for which the type  	 * information is being built. @@ -217,7 +217,7 @@ public:  	 * @return a reference to the current RttiBuilderBase instance to allow  	 * method chaining.  	 */ -	RttiBuilderBase &parent(const RttiType *p) +	RttiBuilderBase &parent(const Rtti *p)  	{  		parentTypes.insert(p);  		return *this; @@ -231,7 +231,7 @@ public:  	 * @return a reference to the current RttiBuilderBase instance to allow  	 * method chaining.  	 */ -	RttiBuilderBase &parent(const RttiTypeSet &p) +	RttiBuilderBase &parent(const RttiSet &p)  	{  		parentTypes.insert(p.begin(), p.end());  		return *this; @@ -246,7 +246,7 @@ public:  	 * @return a reference to the current RttiBuilderBase instance to allow  	 * method chaining.  	 */ -	RttiBuilderBase &composedOf(const RttiType *p) +	RttiBuilderBase &composedOf(const Rtti *p)  	{  		compositeTypes.insert(p);  		return *this; @@ -261,7 +261,7 @@ public:  	 * @return a reference to the current RttiBuilderBase instance to allow  	 * method chaining.  	 */ -	RttiBuilderBase &composedOf(const RttiTypeSet &p) +	RttiBuilderBase &composedOf(const RttiSet &p)  	{  		compositeTypes.insert(p.begin(), p.end());  		return *this; @@ -272,7 +272,7 @@ public:  	 * type descriptor.  	 *  	 * @param name is the name of the method. Names must be unique for one -	 * RttiType instance. If the name is not unique, an exception is thrown. +	 * Rtti instance. If the name is not unique, an exception is thrown.  	 * @param function is the function that should be registered.  	 * @return a reference to the current RttiBuilderBase instance to allow  	 * method chaining. @@ -285,7 +285,7 @@ public:  	 * for this RTTI type descriptor.  	 *  	 * @param name is the name of the property. Names must be unique for one -	 * RttiType instance. If the property is not unique, an exception is thrown. +	 * Rtti instance. If the property is not unique, an exception is thrown.  	 * @param property is the property that should be registered.  	 * @return a reference to the current RttiBuilderBase instance to allow  	 * method chaining. @@ -295,13 +295,13 @@ public:  };  /** - * The RttiType class allows for attaching data to native types that can be + * The Rtti class allows for attaching data to native types that can be   * accessed at runtime. This type information can e.g. be retrieved using the   * "type" method of the Managed class. This system is used for attaching human   * readable names, parent types and script engine functionality. Use the - * RttiType class for convenient registration of type information. + * Rtti class for convenient registration of type information.   */ -class RttiType { +class Rtti {  private:  	/**  	 * Set to true if once the parents and the composite types list have been @@ -313,13 +313,13 @@ private:  	/**  	 * Set containing references to all parent types, including their parents.  	 */ -	mutable RttiTypeSet parents; +	mutable RttiSet parents;  	/**  	 * Set containing references to all types this type is a composition of,  	 * including all composite types of the original composite types.  	 */ -	mutable RttiTypeSet compositeTypes; +	mutable RttiSet compositeTypes;  	/**  	 * Map used for storing all registered methods. @@ -344,13 +344,13 @@ public:  	const std::string name;  	/** -	 * Creates a new RttiType instance and registers it in the global type +	 * Creates a new Rtti instance and registers it in the global type  	 * table. Use the Rtti class for more convenient registration of type  	 * information.  	 *  	 * @param builder is the builder instance containing the Rtti data.  	 */ -	RttiType(const RttiBuilderBase &builder) +	Rtti(const RttiBuilderBase &builder)  	    : initialized(false),  	      parents(std::move(builder.parentTypes)),  	      compositeTypes(std::move(builder.compositeTypes)), @@ -365,12 +365,12 @@ public:  	 * Default constructor. Creates a Rtti instance with name "unknown"  	 * and no parents.  	 */ -	RttiType() : name("unknown") {} +	Rtti() : name("unknown") {}  	/** -	 * Constructor for an empty RttiType with the given name. +	 * Constructor for an empty Rtti with the given name.  	 */ -	RttiType(std::string name) : name(std::move(name)) {} +	Rtti(std::string name) : name(std::move(name)) {}  	/**  	 * Returns true if this Rtti instance is the given type or has the @@ -379,7 +379,7 @@ public:  	 * @param other is the other type for which the relation to this type  	 * should be checked.  	 */ -	bool isa(const RttiType &other) const; +	bool isa(const Rtti &other) const;  	/**  	 * Returns true if an instance of this type may have references to the other @@ -389,7 +389,7 @@ public:  	 * @param other is the other type for which should be checked whether this  	 * type is directly or indirectly composed of it.  	 */ -	bool composedOf(const RttiType &other) const; +	bool composedOf(const Rtti &other) const;  	/**  	 * Returns all methods that are registered for this type (and the parent @@ -457,7 +457,7 @@ public:   * @tparam T is the C++ type for which the type information should be returned.   */  template <typename T> -inline const RttiType &typeOf() +inline const Rtti &typeOf()  {  	return RttiStore::lookup(typeid(T));  } @@ -473,7 +473,7 @@ inline const RttiType &typeOf()   * returned.   */  template <typename T> -inline const RttiType &typeOf(const T &obj) +inline const Rtti &typeOf(const T &obj)  {  	return RttiStore::lookup(typeid(obj));  } @@ -482,47 +482,47 @@ namespace RttiTypes {  /**   * Type of no particular type.   */ -extern const RttiType None; +extern const Rtti None;  /** - * Nullptr type for use by the Variant::getRttiType method. + * Nullptr type for use by the Variant::getRtti method.   */ -extern const RttiType Nullptr; +extern const Rtti Nullptr;  /** - * Bool type for use by the Variant::getRttiType method. + * Bool type for use by the Variant::getRtti method.   */ -extern const RttiType Bool; +extern const Rtti Bool;  /** - * Integer type for use by the Variant::getRttiType method. + * Integer type for use by the Variant::getRtti method.   */ -extern const RttiType Int; +extern const Rtti Int;  /** - * Double type for use by the Variant::getRttiType method. + * Double type for use by the Variant::getRtti method.   */ -extern const RttiType Double; +extern const Rtti Double;  /** - * String type for use by the Variant::getRttiType method. + * String type for use by the Variant::getRtti method.   */ -extern const RttiType String; +extern const Rtti String;  /** - * Array type for use by the Variant::getRttiType method. + * Array type for use by the Variant::getRtti method.   */ -extern const RttiType Array; +extern const Rtti Array;  /** - * Map type for use by the Variant::getRttiType method. + * Map type for use by the Variant::getRtti method.   */ -extern const RttiType Map; +extern const Rtti Map;  /** - * Function type for use by the Variant::getRttiType method. + * Function type for use by the Variant::getRtti method.   */ -extern const RttiType Function; +extern const Rtti Function;  }  } | 
