16 #include <vlutil/vlExceptions.h>
18 #include <boost/ptr_container/ptr_map.hpp>
19 #include <tbb/recursive_mutex.h>
21 namespace MAKVRinTerra
23 class DtAttributeConfigParser;
34 static AttributeType stringToType(
const std::string& str);
36 boost::optional<DtFeature::Attribute> evaluate(
const DtFeature& feature)
const;
38 void print(std::ostream&)
const;
63 virtual bool readAttributeConfig(
const std::string& filename,
const DtQuery& schema=
DtQuery());
69 virtual DtQuery findQuery(std::string)
const;
74 virtual void print(std::ostream&)
const;
76 virtual std::string pprintQueries()
const;
77 virtual std::string pprintTransforms()
const;
88 virtual void resolveNamedQueries();
105 bool existsUnresolved,
const DtException* previousException = 0) throw()
107 , queryName(missingQueryName)
108 , queryExistsUnresolved(existsUnresolved)
115 std::string queryName;
133 virtual std::vector<std::string> extractQuery(std::vector<std::string>::iterator& itr,
134 const std::vector<std::string>& tokList);
139 virtual DtQuery buildQuery(
const std::vector<std::string>& queryToks);
145 virtual DtQuery buildQueryAndBlock(
const std::vector<std::string>& queryToks,
146 std::vector<std::string>::const_iterator& itr);
151 virtual DtQuery buildFirstQuery(
const std::vector<std::string>& queryToks,
152 std::vector<std::string>::const_iterator& itr);
158 virtual DtQuery queryInsideParen(
const std::vector<std::string>& parenToks,
159 std::vector<std::string>::const_iterator& itr);