File SBCMetaBaseType.hpp#
FileList > Core > Meta > SBCMetaBaseType.hpp
Classes#
Type | Name |
---|---|
class | SBCMetaBaseType <typename DerivedT> |
class | SBCMetaBaseType< bool > <> |
class | SBCMetaBaseType< char > <> |
class | SBCMetaBaseType< double > <> |
class | SBCMetaBaseType< float > <> |
class | SBCMetaBaseType< int > <> |
class | SBCMetaBaseType< long > <> |
class | SBCMetaBaseType< long double > <> |
class | SBCMetaBaseType< short > <> |
class | SBCMetaBaseType< signed char > <> |
class | SBCMetaBaseType< unsigned char > <> |
class | SBCMetaBaseType< unsigned int > <> |
class | SBCMetaBaseType< unsigned long > <> |
class | SBCMetaBaseType< unsigned short > <> |
class | SBCMetaBaseType< void > <> |
class | SBCMetaBaseType< wchar_t > <> |
Macros#
Type | Name |
---|---|
define | SB_DECLARE_BASE_TYPE (DERIVED_TYPE, BASE_TYPE) Registers a base type (see Introspection ) in a SAMSON Extension. |
Macro Definition Documentation#
define SB_DECLARE_BASE_TYPE#
Registers a base type (see Introspection ) in a SAMSON Extension.
Parameters:
DERIVED_TYPE
The derived registered typeBASE_TYPE
The base registered type
This macro registers a base type (see Introspection) in a SAMSON Extension.
Assume for example a SAMSON Extension contains the following classes:
class A {
SB_CLASS
public:
A() {}
virtual ~A() {}
};
SB_REGISTER_TYPE(A, "A", "BF99103E-06FE-C4C1-D929-4C6E833B101C");
class B : public A {
SB_CLASS
public:
B() {}
virtual ~B() {}
};
SB_REGISTER_TYPE(B, "B", "D67D0F1A-540D-052F-CC31-2122E0089669");
SB_DECLARE_BASE_TYPE(B, A);
The SB_DECLARE_BASE_TYPE macro declares to SAMSON's Introspection that class B
derives from class A
.
Both the derived and the base types should be registered through either SB_REGISTER_TYPE or SB_REGISTER_TARGET_TYPE (whichever is appropriate).
Note that, at the moment, SAMSON's Introspection may not expose multiple inheritance relationships: while it is perfectly possible to expose a class that inherits multiple classes, the SB_DECLARE_BASE_TYPE macro may be used to expose only one derivation relationship, with only one of the base classes.
See also: Introspection
See also: SB_REGISTER_TYPE, SB_REGISTER_TARGET_TYPE