27 lines
839 B
C++
27 lines
839 B
C++
#ifndef LIBREGEXIS024_SRC_LIBREGEXIS024FA_SELARR_PRIORITY_TABLE_H
|
|
#define LIBREGEXIS024_SRC_LIBREGEXIS024FA_SELARR_PRIORITY_TABLE_H
|
|
|
|
#include <stdint.h>
|
|
#include <vector>
|
|
#include <libregexis024fa/tracking_variables.h>
|
|
|
|
struct RegexPriorityTableAction_Pos{
|
|
/* first and second are indexes in selarr (but second can be -1 if it is unused) */
|
|
int first;
|
|
int second;
|
|
tracking_var_type type;
|
|
bool isForRange() const;
|
|
|
|
RegexPriorityTableAction_Pos(int first, int second, tracking_var_type type);
|
|
};
|
|
|
|
struct RegexPriorityTableAction{
|
|
bool minimize;
|
|
RegexPriorityTableAction_Pos pos;
|
|
RegexPriorityTableAction(bool minimize, int first, int second, tracking_var_type type);
|
|
};
|
|
|
|
typedef std::vector<RegexPriorityTableAction> RegexPriorityTable;
|
|
|
|
#endif //LIBREGEXIS024_SRC_LIBREGEXIS024FA_SELARR_PRIORITY_TABLE_H
|