xapian-core  1.4.19
xapian.h
Go to the documentation of this file.
1 
4 // Copyright (C) 2003,2004,2005,2007,2008,2009,2010,2012,2013,2015,2016,2019 Olly Betts
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 
20 #ifndef XAPIAN_INCLUDED_XAPIAN_H
21 #define XAPIAN_INCLUDED_XAPIAN_H
22 
23 #ifdef slots
24 # ifdef Q_OBJECT
25 // Qt headers '#define slots' by default, which clashes with us using it as a
26 // class member name. Including <xapian.h> first is a simple workaround, or
27 // you can use 'no_keywords' to stop Qt polluting the global macro namespace,
28 // as described here:
29 //
30 // https://doc.qt.io/qt-5/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots
31 # error Include <xapian.h> before Qt headers, or put 'CONFIG += no_keywords' in your .pro file and use Q_SLOTS instead of slots, etc
32 # endif
33 # ifdef WT_API
34 // Argh, copycat polluters!
35 # error Include <xapian.h> before Wt headers, or define WT_NO_SLOT_MACROS to stop Wt from defining the macros 'slots' and 'SLOT()'
36 # endif
37 #endif
38 
39 // Define so that deprecation warnings are given to API users, but not
40 // while building the library.
41 #define XAPIAN_IN_XAPIAN_H
42 
43 // Set defines for library version and check C++ ABI versions match.
44 #include <xapian/version.h>
45 
46 // Types
47 #include <xapian/types.h>
48 
49 // Function attributes
50 #include <xapian/attributes.h>
51 
52 // Constants
53 #include <xapian/constants.h>
54 
55 // Exceptions
56 #include <xapian/error.h>
57 #include <xapian/errorhandler.h>
58 
59 // Access to databases, documents, etc.
60 #include <xapian/database.h>
61 #include <xapian/dbfactory.h>
62 #include <xapian/document.h>
64 #include <xapian/postingiterator.h>
65 #include <xapian/termiterator.h>
66 #include <xapian/valueiterator.h>
67 
68 // Indexing
69 #include <xapian/termgenerator.h>
70 
71 // Searching
72 #include <xapian/enquire.h>
73 #include <xapian/eset.h>
74 #include <xapian/mset.h>
75 #include <xapian/expanddecider.h>
76 #include <xapian/keymaker.h>
77 #include <xapian/matchspy.h>
78 #include <xapian/postingsource.h>
79 #include <xapian/query.h>
80 #include <xapian/queryparser.h>
82 #include <xapian/weight.h>
83 
84 // Stemming
85 #include <xapian/stem.h>
86 
87 // Subclass registry
88 #include <xapian/registry.h>
89 
90 // Unicode support
91 #include <xapian/unicode.h>
92 
93 // Geospatial
94 #include <xapian/geospatial.h>
95 
96 // Database compaction and merging
97 #include <xapian/compactor.h>
98 
99 // ELF visibility annotations for GCC.
100 #include <xapian/visibility.h>
101 
102 // Mechanism for accessing a struct of constant information
103 #include <xapian/constinfo.h>
104 
106 namespace Xapian {
107 
108 // Functions returning library version:
109 
115 inline const char* version_string() {
116  return Internal::get_constinfo_()->str;
117 }
118 
124 inline int major_version() {
126 }
127 
133 inline int minor_version() {
135 }
136 
142 inline int revision() {
144 }
145 
146 }
147 
148 #undef XAPIAN_IN_XAPIAN_H
149 
150 #endif /* XAPIAN_INCLUDED_XAPIAN_H */
Unicode and UTF-8 related classes and functions.
The Xapian namespace contains public interfaces for the Xapian library.
Definition: compactor.cc:80
typedefs for Xapian
Compiler attribute macros.
Constants in the Xapian namespace.
External sources of posting information.
Compact a database, or merge and compact several.
int revision()
Report the revision of the library which the program is linked with.
Definition: xapian.h:142
Class for iterating over term positions.
Xapian::Query API class.
Build key strings for MSet ordering or collapsing.
const char * version_string()
Report the version string of the library which the program is linked with.
Definition: xapian.h:115
API for running queries.
Hierarchy of classes which Xapian can throw as exceptions.
Mechanism for accessing a struct of constant information.
const struct constinfo * get_constinfo_()
Definition: constinfo.cc:43
Decide if a Xapian::Error exception should be ignored.
Geospatial search support routines.
MatchSpy implementation.
int major_version()
Report the major version of the library which the program is linked with.
Definition: xapian.h:124
Define XAPIAN_VISIBILITY_* macros.
parse free text and generate terms
API for working with Xapian databases.
Class for iterating over document values.
Allow rejection of terms during ESet generation.
Class representing a list of search results.
Weighting scheme API.
Define preprocessor symbols for the library version.
Class representing a list of query expansion terms.
Class for iterating over a list of document ids.
API for working with documents.
Class for iterating over a list of terms.
Factory functions for constructing Database and WritableDatabase objects.
stemming algorithms
int minor_version()
Report the minor version of the library which the program is linked with.
Definition: xapian.h:133
Class for looking up user subclasses during unserialisation.
parsing a user query string to build a Xapian::Query object
MatchDecider subclass for filtering results by value.