33 lines
804 B
C++
33 lines
804 B
C++
#ifndef PART_OF_EXPR_THAT_TRACKS_H
|
|
#define PART_OF_EXPR_THAT_TRACKS_H
|
|
|
|
#include <map>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <libregexis024fa/tracking_variables.h>
|
|
|
|
namespace regexis024 {
|
|
struct SubtrackingNameInfo{
|
|
bool stored_in_ca = true;
|
|
bool stored_in_sa = false;
|
|
|
|
bool discovered = false;
|
|
tracking_var_type_t type;
|
|
/* These fields will be -1 if unused */
|
|
int colarr_first = -1;
|
|
int colarr_second = -1;
|
|
|
|
bool used_in_sifting = false;
|
|
bool minimizing = false;
|
|
int selarr_first = -1;
|
|
int selarr_second = -1;
|
|
};
|
|
|
|
struct KnownTrackingTools {
|
|
std::map<std::string, int64_t> track_names;
|
|
std::vector<SubtrackingNameInfo> retrieval_info;
|
|
};
|
|
}
|
|
|
|
#endif //PART_OF_EXPR_THAT_TRACKS_H
|