Web Analytics Made Easy - Statcounter
Skip to content

File SBCMetaRegister.hpp#

FileList > Core > Meta > SBCMetaRegister.hpp

  • #include "SBCMetaIsRegisteredType.hpp"
  • #include "SBCMetaValue.hpp"
  • #include "SBCContainerUUID.hpp"
  • #include "SBCContainerList.hpp"
  • #include "SBCTimeClock.hpp"
  • #include "SBCSystemDefinitions.hpp"
  • #include <map>
  • #include <unordered_map>
  • #include <set>

Public Functions#

Type Name
SB_REGISTER_TYPE (bool, "bool", "555FCF6E-75F2-8674-3ED5-D4284E8F4E80")
SB_REGISTER_TYPE (char, "char", "A2DED507-9630-FC2F-1488-6B996124809B")
SB_REGISTER_TYPE (signed char, "signed char", "443DF6E3-B055-C52B-2BA8-BE71A0A79B96")
SB_REGISTER_TYPE (unsigned char, "unsigned char", "A3F83C00-59E6-5E04-BA2D-1867D31EFEEF")
SB_REGISTER_TYPE (wchar_t, "wchar_t", "53731FA3-7ADC-ED07-2E40-027E37B37A76")
SB_REGISTER_TYPE (short, "short", "260A0B50-580E-5DE4-7E29-7343E5939042")
SB_REGISTER_TYPE (unsigned short, "unsigned short", "6119A18B-00D4-1CCC-2F40-A4B69D81628D")
SB_REGISTER_TYPE (int, "int", "CEB681B5-9C1E-3B91-D22C-7BFDD2C0AB04")
SB_REGISTER_TYPE (unsigned int, "unsigned int", "10E24AF0-6076-8277-5AD5-F96E60BB4664")
SB_REGISTER_TYPE (long, "long", "F6C0A7AE-5383-1241-D08E-2A89A0044D52")
SB_REGISTER_TYPE (unsigned long, "unsigned long", "71932722-D2A1-5902-2553-97E696A61D75")
SB_REGISTER_TYPE (float, "float", "D19F65A3-91C5-4AD5-531F-9FD3D430D890")
SB_REGISTER_TYPE (double, "double", "30606F79-E703-C5B9-5D53-44A7DBD25D90")
SB_REGISTER_TYPE (long double, "long double", "C4E9CFC3-0559-708A-57BE-BEAB995FBBB9")
SB_REGISTER_TYPE (std::string, "string", "1F22E38C-4C8F-061F-8E90-B7F741D8FD2C")
SB_REGISTER_TYPE (std::vector< bool >, "std::vector<bool>", "B001BE3B-8F71-4388-ACBA-4BEA3564AA49")
SB_REGISTER_TYPE (std::vector< short >, "std::vector<short>", "0E0BC3E1-4AFC-47B9-AED1-F56B90D0986C")
SB_REGISTER_TYPE (std::vector< unsigned short >, "std::vector<unsigned short>", "FFCC36B9-CB8E-4C1E-865F-45D543C3D1AC")
SB_REGISTER_TYPE (std::vector< int >, "std::vector<int>", "CDB30878-0A57-4C35-B5DC-992D920FD819")
SB_REGISTER_TYPE (std::vector< unsigned int >, "std::vector<unsigned int>", "A13CFDDB-8080-4D99-B5BB-25FCF220B927")
SB_REGISTER_TYPE (std::vector< long >, "std::vector<long>", "99DD0AE5-3A24-4696-B2AE-3788625B1FB6")
SB_REGISTER_TYPE (std::vector< unsigned long >, "std::vector<unsigned long>", "4579CE9C-E4C7-4C8C-A92C-384686BB3C13")
SB_REGISTER_TYPE (std::vector< float >, "std::vector<float>", "376A2A7C-6593-4B90-9860-BCC22C822221")
SB_REGISTER_TYPE (std::vector< double >, "std::vector<double>", "2F785FE6-11A5-4978-A157-8B76395F5EDA")
SB_REGISTER_TYPE (std::vector< long double >, "std::vector<long double>", "D523D433-8784-4B29-8D13-9159EECB5D17")
SB_REGISTER_TYPE (std::vector< std::string >, "std::vector<std::string>", "2F524656-A72F-4013-90CC-15177DC97D05")
SB_REGISTER_TYPE (std::set< int >, "std::set<int>", "019C2303-0A48-79EC-ACBB-6A8B5C04DDFF")
SB_REGISTER_TYPE (std::set< unsigned int >, "std::set<unsigned int>", "019C2303-60D0-7070-9651-748704E65C90")
SB_REGISTER_TYPE (std::set< long >, "std::set<long>", "019C2303-D19F-7DD3-B96C-A27566AF4B66")
SB_REGISTER_TYPE (std::set< unsigned long >, "std::set<unsigned long>", "019C2303-746D-7C2C-84AC-53707DFEFAC6")
SB_REGISTER_TYPE (std::set< std::string >, "std::set<std::string>", "019C2302-E1F1-7CBD-B80D-988353FD7B70")
SB_REGISTER_TYPE (SBCMetaValue, "SBMetaContainer", "CE1E22CC-01BE-F3E3-0D7F-8770E74CFA06")
SB_REGISTER_TYPE (SBCContainerList< std::string >, "SBList<std::string>", "F0A039C2-6BD1-0702-2E9B-4951AB7CE991")
SB_REGISTER_TYPE (SBCContainerUUID, "SBUUID", "0D48D43C-D496-03A5-D00E-340BEC4BB693")
SB_REGISTER_TYPE (SBCContainerList< SBCContainerUUID >, "SBList<SBUUID>", "4A95963D-436F-49B1-A60B-0DDB5BF23948")
SB_REGISTER_TYPE (std::vector< SBCContainerUUID >, "std::vector<SBUUID>", "15B3ABD9-5562-4C14-9324-C4D082EF0CEF")
SB_REGISTER_TYPE (std::set< SBCContainerUUID >, "std::set<SBUUID>", "019C22FE-50E1-7BC7-92AD-DC73E08E54D3")
SB_REGISTER_TYPE (std::map< std::string COMMA int >, "std::map<std::string, int>", "019C230D-675C-7A08-B406-EABF250AB219")
SB_REGISTER_TYPE (std::map< int COMMA std::string >, "std::map<int, std::string>", "019C230D-DAF9-7039-9771-F37CC0CD23C0")
SB_REGISTER_TYPE (std::map< std::string COMMA std::string >, "std::map<std::string, std::string>", "019BC290-E031-7883-A05E-111A40000000")
SB_REGISTER_TYPE (std::unordered_map< std::string COMMA std::string >, "std::unordered_map<std::string, std::string>", "019BC290-E031-7883-A05E-111A40000001")
SB_REGISTER_TYPE (std::map< std::string COMMA SBCMetaValue >, "std::map<std::string, SBValue>", "019BC290-E031-7883-A05E-111A40000002")
SB_REGISTER_TYPE (std::unordered_map< std::string COMMA SBCMetaValue >, "std::unordered_map<std::string, SBValue>", "2E7F940C-4438-44F3-AC82-9220E9765054")
SB_REGISTER_TYPE (std::pair< std::string COMMA SBCContainerUUID >, "std::pair<std::string, SBUUID>", "019ADF90-6E3F-7258-AC57-7081180E2FE9")
SB_REGISTER_TYPE (std::pair< SBCContainerUUID COMMA std::string >, "std::pair<SBUUID, std::string>", "F58015D3-04EF-4F30-B5D8-61ECCCB7CB51")
SB_REGISTER_TYPE (std::vector< std::pair< std::string COMMA SBCContainerUUID > >, "std::vector< std::pair<std::string, SBUUID> >", "019C0020-422C-7512-B967-BD55AF96BF28")
SB_REGISTER_TYPE (std::vector< std::pair< SBCContainerUUID COMMA std::string > >, "std::vector< std::pair<SBUUID, std::string> >", "6F5EEA5C-053C-45D5-89B4-824BA151EFB6")
SB_REGISTER_TYPE (__int64, "__int64", "9ECB44E3-B507-9FDD-B265-DB6273561B69")

Macros#

Type Name
define COMMA
You can use COMMA to replace commas when registering complex types with SB_REGISTER_TYPE, e.g.
define SB_REGISTER_TYPE (TYPE, SHORT_NAME, UUID)
Registers a type (see Introspection ) in a SAMSON Extension.

Public Functions Documentation#

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    bool,
    "bool",
    "555FCF6E-75F2-8674-3ED5-D4284E8F4E80"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    char,
    "char",
    "A2DED507-9630-FC2F-1488-6B996124809B"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    signed char,
    "signed char",
    "443DF6E3-B055-C52B-2BA8-BE71A0A79B96"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    unsigned char,
    "unsigned char",
    "A3F83C00-59E6-5E04-BA2D-1867D31EFEEF"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    wchar_t,
    "wchar_t",
    "53731FA3-7ADC-ED07-2E40-027E37B37A76"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    short,
    "short",
    "260A0B50-580E-5DE4-7E29-7343E5939042"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    unsigned short,
    "unsigned short",
    "6119A18B-00D4-1CCC-2F40-A4B69D81628D"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    int,
    "int",
    "CEB681B5-9C1E-3B91-D22C-7BFDD2C0AB04"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    unsigned int,
    "unsigned int",
    "10E24AF0-6076-8277-5AD5-F96E60BB4664"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    long,
    "long",
    "F6C0A7AE-5383-1241-D08E-2A89A0044D52"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    unsigned long,
    "unsigned long",
    "71932722-D2A1-5902-2553-97E696A61D75"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    float,
    "float",
    "D19F65A3-91C5-4AD5-531F-9FD3D430D890"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    double,
    "double",
    "30606F79-E703-C5B9-5D53-44A7DBD25D90"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    long double,
    "long double",
    "C4E9CFC3-0559-708A-57BE-BEAB995FBBB9"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::string,
    "string",
    "1F22E38C-4C8F-061F-8E90-B7F741D8FD2C"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< bool >,
    "std::vector<bool>",
    "B001BE3B-8F71-4388-ACBA-4BEA3564AA49"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< short >,
    "std::vector<short>",
    "0E0BC3E1-4AFC-47B9-AED1-F56B90D0986C"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< unsigned short >,
    "std::vector<unsigned short>",
    "FFCC36B9-CB8E-4C1E-865F-45D543C3D1AC"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< int >,
    "std::vector<int>",
    "CDB30878-0A57-4C35-B5DC-992D920FD819"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< unsigned int >,
    "std::vector<unsigned int>",
    "A13CFDDB-8080-4D99-B5BB-25FCF220B927"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< long >,
    "std::vector<long>",
    "99DD0AE5-3A24-4696-B2AE-3788625B1FB6"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< unsigned long >,
    "std::vector<unsigned long>",
    "4579CE9C-E4C7-4C8C-A92C-384686BB3C13"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< float >,
    "std::vector<float>",
    "376A2A7C-6593-4B90-9860-BCC22C822221"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< double >,
    "std::vector<double>",
    "2F785FE6-11A5-4978-A157-8B76395F5EDA"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< long double >,
    "std::vector<long double>",
    "D523D433-8784-4B29-8D13-9159EECB5D17"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< std::string >,
    "std::vector<std::string>",
    "2F524656-A72F-4013-90CC-15177DC97D05"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::set< int >,
    "std::set<int>",
    "019C2303-0A48-79EC-ACBB-6A8B5C04DDFF"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::set< unsigned int >,
    "std::set<unsigned int>",
    "019C2303-60D0-7070-9651-748704E65C90"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::set< long >,
    "std::set<long>",
    "019C2303-D19F-7DD3-B96C-A27566AF4B66"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::set< unsigned long >,
    "std::set<unsigned long>",
    "019C2303-746D-7C2C-84AC-53707DFEFAC6"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::set< std::string >,
    "std::set<std::string>",
    "019C2302-E1F1-7CBD-B80D-988353FD7B70"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    SBCMetaValue,
    "SBMetaContainer",
    "CE1E22CC-01BE-F3E3-0D7F-8770E74CFA06"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    SBCContainerList < std::string >,
    "SBList<std::string>",
    "F0A039C2-6BD1-0702-2E9B-4951AB7CE991"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    SBCContainerUUID,
    "SBUUID",
    "0D48D43C-D496-03A5-D00E-340BEC4BB693"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    SBCContainerList < SBCContainerUUID >,
    "SBList< SBUUID >",
    "4A95963D-436F-49B1-A60B-0DDB5BF23948"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< SBCContainerUUID >,
    "std::vector< SBUUID >",
    "15B3ABD9-5562-4C14-9324-C4D082EF0CEF"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::set< SBCContainerUUID >,
    "std::set< SBUUID >",
    "019C22FE-50E1-7BC7-92AD-DC73E08E54D3"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::map< std::string COMMA int >,
    "std::map<std::string, int>",
    "019C230D-675C-7A08-B406-EABF250AB219"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::map< int COMMA std::string >,
    "std::map<int, std::string>",
    "019C230D-DAF9-7039-9771-F37CC0CD23C0"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::map< std::string COMMA std::string >,
    "std::map<std::string, std::string>",
    "019BC290-E031-7883-A05E-111A40000000"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::unordered_map< std::string COMMA std::string >,
    "std::unordered_map<std::string, std::string>",
    "019BC290-E031-7883-A05E-111A40000001"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::map< std::string COMMA SBCMetaValue >,
    "std::map<std::string, SBValue >",
    "019BC290-E031-7883-A05E-111A40000002"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::unordered_map< std::string COMMA SBCMetaValue >,
    "std::unordered_map<std::string, SBValue >",
    "2E7F940C-4438-44F3-AC82-9220E9765054"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::pair< std::string COMMA SBCContainerUUID >,
    "std::pair<std::string, SBUUID >",
    "019ADF90-6E3F-7258-AC57-7081180E2FE9"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::pair< SBCContainerUUID COMMA std::string >,
    "std::pair< SBUUID , std::string>",
    "F58015D3-04EF-4F30-B5D8-61ECCCB7CB51"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< std::pair< std::string COMMA SBCContainerUUID > >,
    "std::vector< std::pair<std::string, SBUUID > >",
    "019C0020-422C-7512-B967-BD55AF96BF28"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    std::vector< std::pair< SBCContainerUUID COMMA std::string > >,
    "std::vector< std::pair< SBUUID , std::string> >",
    "6F5EEA5C-053C-45D5-89B4-824BA151EFB6"
) 

function SB_REGISTER_TYPE#

SB_REGISTER_TYPE (
    __int64,
    "__int64",
    "9ECB44E3-B507-9FDD-B265-DB6273561B69"
) 

Macro Definition Documentation#

define COMMA#

You can use COMMA to replace commas when registering complex types with SB_REGISTER_TYPE, e.g.

#define COMMA 

commas within angle brackets, parentheses.

Example:

SB_REGISTER_TYPE(std::unordered_map<std::string COMMA SBValue>, "std::unordered_map<std::string, SBValue>", "2E7F940C-4438-44F3-AC82-9220E9765054");


define SB_REGISTER_TYPE#

Registers a type (see Introspection ) in a SAMSON Extension.

#define SB_REGISTER_TYPE (
    TYPE,
    SHORT_NAME,
    UUID
) 

Parameters:

  • TYPE The registered type
  • SHORT_NAME The short name of the registered type (in quotes)
  • UUID The UUID of the registered type (in quotes)

This macro registers a type (see Introspection) in a SAMSON Extension.

Assume for example a SAMSON Extension contains the following class:

class A {

SB_CLASS

public:

    A() {}
    virtual ~A() {}

    int multiplyByTwo(int i) {

        return 2 * i;

    }

};

SB_REGISTER_TYPE(A, "A", "BF99103E-06FE-C4C1-D929-4C6E833B101C");

The SB_REGISTER_TYPE macro declares to SAMSON's Introspection that A is a registered type.

For classes that (directly or indirectly) derive from SBCReferenceTarget, the macro SB_REGISTER_TARGET_TYPE should be used instead.

See also: Introspection

See also: SB_REGISTER_TARGET_TYPE