00001 #ifndef UIBUILD
00002 #define UIBUILD
00003
00004 #include <itpp/itbase.h>
00005 #include "stat/libBM.h"
00006 #include "libconfig/libconfig.h++"
00007
00008 #include <sstream>
00009 #include <iostream>
00010 #include <stdio.h>
00011 #include <string>
00012 #include <typeinfo>
00013 #include <map>
00014 #include <utility>
00015 #include <vector>
00016 #include <iostream>
00017
00018 using std::string;
00019 using namespace std;
00020 using namespace libconfig;
00021
00022 #define UIREGISTER(class_name) template<> Particular_UI<class_name>& Particular_UI<class_name>::ui = Particular_UI<class_name>(#class_name)
00023
00024 #define ASSERT_UITYPE(S,Type) it_assert_debug(S.getType()==Setting::Type, string("Wrong setting type, see input path \"")+string(S.getPath())+string("\""))
00025
00026 namespace bdm
00027 {
00028
00051 class UI_File : public Config
00052 {
00053 private:
00054 const string file_name;
00055
00056 public:
00058 UI_File( const string &file_name );
00059
00061 void load();
00062
00064 void save();
00065
00066 operator Setting&();
00067 };
00068
00069
00084
00091
00095
00098
00102
00105
00109
00112
00117
00269
00323
00343
00407
00417
00445
00457
00463
00477
00479
00492
00500
00509
00518
00526
00535
00544
00552
00561
00570
00584
00590
00596
00630