Documentation
Classes/functions for managing structured sets of keyword-value associations, such as encoded in the MPQC object-oriented input format.
Classes | |
class | mpqc::DescribedClass |
class | mpqc::KeyVal |
KeyVal specifies C++ primitive data (booleans, integers, reals, string) and user-defined objects obtained from JSON/XML/INFO input or by programmatic construction. More... | |
Macros | |
#define | MPQC_CLASS_REGISTER_GUID(K, ...) |
#define | MPQC_BOOST_CLASS_EXPORT_KEY2(K, ...) |
#define | MPQC_CLASS_EXPORT_KEY2(K, ...) |
Associates a key (character string) with a class using and register the class's KeyVal constructor with DescribedClass's registry. This does not register class with Boost.Serialization, use MPQC_BOOST_CLASS_EXPORT_KEY2 for that. More... | |
#define | MPQC_CLASS_EXPORT_KEY(...) MPQC_CLASS_EXPORT_KEY2(BOOST_PP_STRINGIZE(__VA_ARGS__), __VA_ARGS__) |
Associates a key (character string) with a class and register the class's KeyVal constructor with DescribedClass's registry. This does not register class with Boost.Serialization, use MPQC_BOOST_CLASS_EXPORT_KEY2 for that. More... | |
#define | MPQC_BOOST_CLASS_EXPORT_IMPLEMENT(...) |
Forces the class instantiation so that it can be deserialized with Boost.Serialization. More... | |
Macro Definition Documentation
◆ MPQC_BOOST_CLASS_EXPORT_IMPLEMENT
#define MPQC_BOOST_CLASS_EXPORT_IMPLEMENT | ( | ... | ) |
Forces the class instantiation so that it can be deserialized with Boost.Serialization.
- Note
- this is a variadic version of BOOST_CLASS_EXPORT_IMPLEMENT, hence it can register classes with two or more template arguments.
- this should be placed in a source file (read Boost.Serialization docs very carefully).
◆ MPQC_BOOST_CLASS_EXPORT_KEY2
#define MPQC_BOOST_CLASS_EXPORT_KEY2 | ( | K, | |
... | |||
) |
MPQC_BOOST_CLASS_EXPORT_KEY2(K,T) associates key K
with type T
- Note
- this is a variadic version of BOOST_CLASS_EXPORT_KEY2 (see the docs for Boost.Serialization); unlike BOOST_CLASS_EXPORT_KEY2 this can register classes with two or more template arguments.
- this should be placed in a header file (read Boost.Serialization docs very carefully).
◆ MPQC_CLASS_EXPORT_KEY
#define MPQC_CLASS_EXPORT_KEY | ( | ... | ) | MPQC_CLASS_EXPORT_KEY2(BOOST_PP_STRINGIZE(__VA_ARGS__), __VA_ARGS__) |
Associates a key (character string) with a class and register the class's KeyVal constructor with DescribedClass's registry. This does not register class with Boost.Serialization, use MPQC_BOOST_CLASS_EXPORT_KEY2 for that.
Identical to MPQC_CLASS_EXPORT_KEY2, but uses class name for the class key. Use MPQC_BOOST_CLASS_EXPORT_KEY to skip the KeyVal ctor registration.
- See also
- MPQC_CLASS_EXPORT_KEY2
◆ MPQC_CLASS_EXPORT_KEY2
#define MPQC_CLASS_EXPORT_KEY2 | ( | K, | |
... | |||
) |
Associates a key (character string) with a class using and register the class's KeyVal constructor with DescribedClass's registry. This does not register class with Boost.Serialization, use MPQC_BOOST_CLASS_EXPORT_KEY2 for that.
Use MPQC_CLASS_EXPORT_KEY2 to skip the KeyVal constructor registration.
- Note
- this should be placed in a source file, and only occur once for each class.
◆ MPQC_CLASS_REGISTER_GUID
#define MPQC_CLASS_REGISTER_GUID | ( | K, | |
... | |||
) |
MPQC_CLASS_REGISTER_GUID(K,T) associates key K
as GUID for type T
- Note
- this can be placed in a header or a source file.