xapian-core  1.4.30
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 */
Compiler attribute macros.
Compact a database, or merge and compact several.
Constants in the Xapian namespace.
Mechanism for accessing a struct of constant information.
Factory functions for constructing Database and WritableDatabase objects.
API for running queries.
Hierarchy of classes which Xapian can throw as exceptions.
Decide if a Xapian::Error exception should be ignored.
Class representing a list of query expansion terms.
Allow rejection of terms during ESet generation.
Geospatial search support routines.
API for working with Xapian databases.
API for working with documents.
Build key strings for MSet ordering or collapsing.
MatchSpy implementation.
Class representing a list of search results.
const struct constinfo * get_constinfo_()
Definition: constinfo.cc:43
The Xapian namespace contains public interfaces for the Xapian library.
Definition: compactor.cc:80
int major_version()
Report the major version of the library which the program is linked with.
Definition: xapian.h:124
int revision()
Report the revision of the library which the program is linked with.
Definition: xapian.h:142
const char * version_string()
Report the version string of the library which the program is linked with.
Definition: xapian.h:115
int minor_version()
Report the minor version of the library which the program is linked with.
Definition: xapian.h:133
Class for iterating over term positions.
Class for iterating over a list of document ids.
External sources of posting information.
Xapian::Query API class.
parsing a user query string to build a Xapian::Query object
Class for looking up user subclasses during unserialisation.
stemming algorithms
parse free text and generate terms
Class for iterating over a list of terms.
typedefs for Xapian
Unicode and UTF-8 related classes and functions.
Class for iterating over document values.
MatchDecider subclass for filtering results by value.
Define preprocessor symbols for the library version.
Define XAPIAN_VISIBILITY_* macros.
Weighting scheme API.