Web Analytics Made Easy - Statcounter
Skip to content

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.

#define SB_DECLARE_BASE_TYPE (
    DERIVED_TYPE,
    BASE_TYPE
) 

Parameters:

  • DERIVED_TYPE The derived registered type
  • BASE_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