20#include "rxdock/BaseObject.h"
21#include "rxdock/Context.h"
22#include "rxdock/FilterExpression.h"
24#include <nlohmann/json.hpp>
26using json = nlohmann::json;
30class FilterExpressionVisitor;
34 static const std::string _CT;
35 RBTDLL_EXPORT
Filter(std::string strfilter,
bool filter =
false);
41 friend void to_json(json &j,
const Filter &filter);
42 friend void from_json(
const json &j,
Filter &filter);
46 virtual void Update(
Subject *theChangedSubject);
51 RBTDLL_EXPORT
bool Write();
52 RBTDLL_EXPORT
bool Terminate();
55 void SetMaxNRuns(
int n) { maxnruns = n; }
67 int filteridx, nTermFilters, nWriteFilters, nruns, maxnruns;
68 FilterExpressionList terminationFilters;
69 FilterExpressionList writtingFilter;
75void to_json(json &j,
const Filter &filter);
76void from_json(
const json &j,
Filter &filter);
80typedef std::vector<FilterPtr> FilterList;
82typedef FilterList::iterator FilterListIter;
83typedef FilterList::const_iterator FilterListConstIter;
Definition BaseObject.h:32