00001 #ifndef UIBUILD
00002 #define UIBUILD
00003
00004
00005 #include <sstream>
00006 #include <iostream>
00007 #include <stdio.h>
00008 #include <string>
00009 #include <typeinfo>
00010 #include <map>
00011 #include <utility>
00012 #include <vector>
00013 #include <iostream>
00014
00015 #include "libconfig/libconfig.h++"
00016
00017 #include <itpp/itbase.h>
00018
00019 #include "stat/libBM.h"
00020
00021 using std::string;
00022 using namespace std;
00023 using namespace libconfig;
00024
00025 #define UIREGISTER(class_name) template<> Particular_UI<class_name>& Particular_UI<class_name>::ui = Particular_UI<class_name>(#class_name)
00026
00027 #define ASSERT_UITYPE(S,Type) it_assert_debug(S.getType()==Setting::Type, string("Wrong setting type, see input path \"")+string(S.getPath())+string("\""))
00028
00029 namespace bdm
00030 {
00031 class UI_File : public Config
00032 {
00033 private:
00034 const string file_name;
00035
00036 public:
00038 UI_File( const string &file_name );
00039
00041 void load();
00042
00044 void save();
00045
00046 operator Setting&();
00047 };
00048
00086
00093
00097
00100
00103
00106
00110
00113
00116
00138
00143
00153
00155
00159
00199
00217
00223
00237
00239
00254
00263
00272
00281
00311
00322
00325
00329
00339
00345
00351
00387