1 /* parse-time-vrp.h - date range query glue
3 * This file is part of notmuch.
5 * Copyright © 2012 Jani Nikula
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see https://www.gnu.org/licenses/ .
20 * Author: Jani Nikula <jani@nikula.org>
23 #ifndef NOTMUCH_PARSE_TIME_VRP_H
24 #define NOTMUCH_PARSE_TIME_VRP_H
28 /* see *ValueRangeProcessor in xapian-core/include/xapian/queryparser.h */
29 class ParseTimeRangeProcessor : public Xapian::RangeProcessor {
32 ParseTimeRangeProcessor (Xapian::valueno slot_, const std::string prefix_)
33 : Xapian::RangeProcessor(slot_, prefix_, 0) { }
35 Xapian::Query operator() (const std::string &begin, const std::string &end);
38 class DateFieldProcessor : public Xapian::FieldProcessor {
42 DateFieldProcessor(Xapian::valueno slot_) : slot(slot_) { };
43 Xapian::Query operator()(const std::string & str);
46 #endif /* NOTMUCH_PARSE_TIME_VRP_H */