Branch data Line data Source code
1 : : /** \file valuesetmatchdecider.cc
2 : : * \brief MatchDecider subclass for filtering results by value.
3 : : */
4 : : /* Copyright 2008 Lemur Consulting Limited
5 : : * Copyright 2009 Olly Betts
6 : : *
7 : : * This program is free software; you can redistribute it and/or
8 : : * modify it under the terms of the GNU General Public License as
9 : : * published by the Free Software Foundation; either version 2 of the
10 : : * License, or (at your option) any later version.
11 : : *
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.
16 : : *
17 : : * You should have received a copy of the GNU General Public License
18 : : * along with this program; if not, write to the Free Software
19 : : * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
20 : : * USA
21 : : */
22 : :
23 : : #include <config.h>
24 : :
25 : : #include "xapian/valuesetmatchdecider.h"
26 : :
27 : : #include "xapian/document.h"
28 : :
29 : : using namespace std;
30 : :
31 : : namespace Xapian {
32 : :
33 : : bool
34 : 169 : ValueSetMatchDecider::operator()(const Xapian::Document& doc) const
35 : : {
36 : 169 : string value = doc.get_value(valuenum);
37 : 169 : set<string>::const_iterator it = testset.find(value);
38 [ + + ]: 169 : if (inclusive)
39 : 87 : return it != testset.end();
40 : : else
41 : 169 : return it == testset.end();
42 : : }
43 : :
44 : : }
|