The only UI descendant class which is not intended for direct use. It should be accessed within the UIREGISTER macro only. User Infos and their use
#include <user_info.h>
Public Member Functions | |
ParticularUI (const string &class_name) | |
Constructor used by the UIREGISTER macro. | |
root * | new_instance () const |
A method returning a brand new instance of class T, this method is the reason why there have to be a parameterless constructor in class T. | |
Private Types | |
enum | SettingPresence { optional, compulsory } |
Enum type used to determine whether the data for concrete Settingis is compulsory or optional. | |
Static Private Member Functions | |
Initialization of classes | |
template<class T > | |
static shared_ptr< T > | build (const Setting &element, const string &name, SettingPresence settingPresence=optional) |
template<class T > | |
static shared_ptr< T > | build (const Setting &element, const int index, SettingPresence settingPresence=optional) |
Initialization of structures | |
template<class T > | |
static bool | get (T &instance, const Setting &element, const string &name, SettingPresence settingPresence=optional) |
template<class T > | |
static bool | get (T &instance, const Setting &element, const int index, SettingPresence settingPresence=optional) |
template<class T > | |
static bool | get (T &instance, const Setting &element) |
The existing instance of type T is initialized with values stored in the Setting element directly. | |
Initialization of arrays Array<T> | |
template<class T > | |
static bool | get (Array< T > &array_to_load, const Setting &element, const string &name, SettingPresence settingPresence=optional) |
template<class T > | |
static bool | get (Array< T > &array_to_load, const Setting &element, const int index, SettingPresence settingPresence=optional) |
template<class T > | |
static bool | get (Array< T > &array_to_load, const Setting &element) |
The existing array of type T is initialized with values stored in the Setting element. | |
Serialization of objects and structures into a new Setting | |
template<class T > | |
static void | save (const T *const instance, Setting &element, const string &name="") |
A root descendant instance is stored in the new child Setting appended to the passed element. | |
template<class T > | |
static void | save (const shared_ptr< T > &instance, Setting &element, const string &name="") |
template<class T > | |
static void | save (const Array< T > &array_to_save, Setting &element, const string &name="") |
An Array<T> instance is stored in the new child Setting appended to the passed element. | |
static void | save (const mat &matrix, Setting &element, const string &name="") |
A matrix(of type mat) is stored in the new child Setting appended to the passed element. | |
static void | save (const ivec &vec, Setting &element, const string &name="") |
An integer vector (of type ivec) is stored in the new child Setting appended to the passed element. | |
static void | save (const vec &vector, Setting &element, const string &name="") |
A double vector (of type vec) is stored in the new child Setting appended to the passed element. | |
static void | save (const string &str, Setting &element, const string &name="") |
A string is stored in the new child Setting appended to the passed element. | |
static void | save (const int &integer, Setting &element, const string &name="") |
An integer is stored in the new child Setting appended to the passed element. | |
static void | save (const double &real, Setting &element, const string &name="") |
A double is stored in the new child Setting appended to the passed element. |