Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstantin Shalnev <c.shalnev@corp.mail.ru>2015-09-10 17:02:54 +0300
committerConstantin Shalnev <c.shalnev@corp.mail.ru>2015-09-23 13:44:17 +0300
commit2ed83972365ab46dedcd456d088e4b8310fd0e1f (patch)
tree7f65501ac68666fccdc56a4ee9274c57a61c0402 /indexer/drules_selector_parser.hpp
parent1acbb7bcdf9a7b424e318941658c31914a22b98a (diff)
Added processing of apply_if in the kernel
Diffstat (limited to 'indexer/drules_selector_parser.hpp')
-rw-r--r--indexer/drules_selector_parser.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/indexer/drules_selector_parser.hpp b/indexer/drules_selector_parser.hpp
new file mode 100644
index 0000000000..f0e511a24f
--- /dev/null
+++ b/indexer/drules_selector_parser.hpp
@@ -0,0 +1,32 @@
+#pragma once
+
+#include "std/string.hpp"
+
+namespace drule
+{
+
+enum SelectorOperatorType
+{
+ SelectorOperatorUnknown = 0,
+ SelectorOperatorNotEqual, // [tag!=value]
+ SelectorOperatorLessOrEqual, // [tag<=value]
+ SelectorOperatorGreaterOrEqual, // [tag>=value]
+ SelectorOperatorEqual, // [tag=value]
+ SelectorOperatorLess, // [tag<value]
+ SelectorOperatorGreater, // [tag>value]
+ SelectorOperatorIsNotSet, // [!tag]
+ SelectorOperatorIsSet, // [tag]
+};
+
+struct SelectorExpression
+{
+ SelectorOperatorType m_operator;
+ string m_tag;
+ string m_value;
+
+ SelectorExpression() : m_operator(SelectorOperatorUnknown) {}
+};
+
+bool ParseSelector(string const & str, SelectorExpression & e);
+
+} // namespace drule