UI (user info) class for loading/saving objects from/to configuration files. It is designed with use of libconfig C/C++ Configuration File Library User Infos and their use. More...
#include <stdio.h>
#include <string>
#include <typeinfo>
#include <map>
#include <stdexcept>
#include "libconfig/libconfig.h++"
#include "../bdmroot.h"
#include "../shared_ptr.h"
#include "itpp/itbase.h"
Go to the source code of this file.
Classes | |
class | bdm::UIException |
class | bdm::UISettingException |
class | bdm::UIClassException |
class | bdm::UIFile |
This class serves to load and/or save user-infos into/from configuration files stored on a hard-disk. More... | |
class | bdm::SettingResolver |
This class serves to expand links used within configuration files. More... | |
class | bdm::UI |
UI is an abstract class which collects all the auxiliary functions useful to prepare some concrete user-infos. More... | |
class | bdm::UI::MappedUI |
class | bdm::ParticularUI< T > |
Defines | |
#define | UIREGISTER(class_name) static bdm::ParticularUI<class_name> UI##class_name(#class_name) |
Macro for registration of class into map of user-infos, registered class is scriptable using UI static methods. | |
#define | QUOTEME(x) #x |
Instrumental macro for UIREGISTER2. | |
#define | UIREGISTER2(class_name, temp_name) static bdm::ParticularUI<class_name<temp_name> > UI##class_name##_##temp_name( QUOTEME(class_name<temp_name>) ) |
Variant of UIREGISTER for templated classes. |
UI (user info) class for loading/saving objects from/to configuration files. It is designed with use of libconfig C/C++ Configuration File Library User Infos and their use.
----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty
Using IT++ for numerical operations -----------------------------------
#define UIREGISTER | ( | class_name | ) | static bdm::ParticularUI<class_name> UI##class_name(#class_name) |
Macro for registration of class into map of user-infos, registered class is scriptable using UI static methods.
Argument class_name has to be a descendant of root class and also to have a default constructor. This macro should be used in header file, immediately after a class declaration.
#define UIREGISTER2 | ( | class_name, | |||
temp_name | ) | static bdm::ParticularUI<class_name<temp_name> > UI##class_name##_##temp_name( QUOTEME(class_name<temp_name>) ) |
Variant of UIREGISTER for templated classes.
Technical meann of registering UIREGISTER(class_name<template_name>).