tuiliji/GenAlogrithm/relus/rules.h

68 lines
2.0 KiB
C++

#pragma once
#include<stdio.h>
#include<iostream>
#include "ADOConn.h"
#include "../datadef.h"
#include"datadef_ruls.h"
#include"tinyxml2.h"
using namespace std;
class RULES
{
public:
RULES();
~RULES();
public:
static RULES* Create_RULES();
void RULS_Init(string Address, map<std::string, ABILITY*> fdb);
void ALL_list_Tin(string type_name, string T_in);//增加替换功能;
void ALL_list_Tin(string type_name, string model_name, string T_in);
void ALL_list_Tin(string type_name, string model_name, string name, string T_in);
private:
int m_Rules_Loading();
bool xml_load_list(string add);
vector<string> Call_Back(vector<string> &T_in);
void ALT_IN(string Alt);
void run();
void RES_select(vector<string> res, Detail_in_out &id);
void conf_cheak();
bool delect_ALT_IN(string Alt);
private://工具部分
void cout_select(string res, Detail_in_out &show);
void change_in(string in_data, Detail_in_out &all_in);
void Write_in(string Name_T);
bool Cheak_O_in(list<Save_str> T_list, vector<string>& T_in);
bool Empty(int c_in);
bool Cheak_CH0(string ins);
bool Cheak_Save(string name);
MAPing* Cheak(string Name_T);
int Cheak(vector<string> Name_v, string Name_T, int model);
int Cheak(string Name_T, int model);
bool Cheak(vector<string> Name_V, string name);
vector<string> Cheak_cof(string conf);
private:
vector<Save_str*> save_index;//保存index
MAPing* map_in;
Save_str* temp;
vector<string> ALT;//前提汇入;
public:
map<string, map<string, map<string, Detail_in_out>>> ALL_show;//加一个结构体
map<string, Detail_in_out> ALL_type;
map<string, map<string, Detail_in_out>> ALL_model;
private:
vector<ALT_Classs> data_info;//当前数据信息,包括能力数据和数量
vector<vector<string>> confilic;
map<string, vector<string>> CON_index;
map<string, vector<string>> conf;
bool re_ALT;
map<string, Detail_in_out> temp_name_index;//所有temp记得clear
map<string, map<string, Detail_in_out>> temp_model_index;
vector<string> type_index;
vector<string> model_index;
};