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#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
function SB_REGISTER_TYPE#
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#
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#
function SB_REGISTER_TYPE#
SB_REGISTER_TYPE (
std::set< unsigned int >,
"std::set<unsigned int>",
"019C2303-60D0-7070-9651-748704E65C90"
)
function SB_REGISTER_TYPE#
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#
function SB_REGISTER_TYPE#
SB_REGISTER_TYPE (
SBCContainerList < std::string >,
"SBList<std::string>",
"F0A039C2-6BD1-0702-2E9B-4951AB7CE991"
)
function SB_REGISTER_TYPE#
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#
Macro Definition Documentation#
define COMMA#
You can use COMMA to replace commas when registering complex types with SB_REGISTER_TYPE, e.g.
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.
Parameters:
TYPEThe registered typeSHORT_NAMEThe short name of the registered type (in quotes)UUIDThe 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