| dbfactory.h | | dbfactory.h | |
| /** \file dbfactory.h | | /** \file dbfactory.h | |
| * \brief Factory functions for constructing Database and WritableDatabase
objects | | * \brief Factory functions for constructing Database and WritableDatabase
objects | |
| */ | | */ | |
|
| /* Copyright (C) 2005,2006,2007,2008 Olly Betts | | /* Copyright (C) 2005,2006,2007,2008,2009 Olly Betts | |
| * | | * | |
| * This program is free software; you can redistribute it and/or | | * This program is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License as | | * modify it under the terms of the GNU General Public License as | |
| * published by the Free Software Foundation; either version 2 of the | | * published by the Free Software Foundation; either version 2 of the | |
| * License, or (at your option) any later version. | | * License, or (at your option) any later version. | |
| * | | * | |
| * This program is distributed in the hope that it will be useful, | | * This program is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| | | | |
| skipping to change at line 37 | | skipping to change at line 37 | |
| #include <xapian/types.h> | | #include <xapian/types.h> | |
| #include <xapian/deprecated.h> | | #include <xapian/deprecated.h> | |
| #include <xapian/version.h> | | #include <xapian/version.h> | |
| #include <xapian/visibility.h> | | #include <xapian/visibility.h> | |
| | | | |
| namespace Xapian { | | namespace Xapian { | |
| | | | |
| class Database; | | class Database; | |
| class WritableDatabase; | | class WritableDatabase; | |
| | | | |
|
| | | /// Database factory functions which determine the database type automatica
lly. | |
| namespace Auto { | | namespace Auto { | |
| | | | |
| /** Construct a Database object for a stub database file. | | /** Construct a Database object for a stub database file. | |
| * | | * | |
| * The stub database file contains serialised parameters for one | | * The stub database file contains serialised parameters for one | |
| * or more databases. | | * or more databases. | |
| * | | * | |
| * @param file pathname of the stub database file. | | * @param file pathname of the stub database file. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| Database open_stub(const std::string &file); | | Database open_stub(const std::string &file); | |
| | | | |
| } | | } | |
| | | | |
| #ifdef XAPIAN_HAS_INMEMORY_BACKEND | | #ifdef XAPIAN_HAS_INMEMORY_BACKEND | |
|
| | | /// Database factory functions for the inmemory backend. | |
| namespace InMemory { | | namespace InMemory { | |
| | | | |
| /** Construct a WritableDatabase object for a new, empty InMemory database. | | /** Construct a WritableDatabase object for a new, empty InMemory database. | |
| * | | * | |
| * Only a writable InMemory database can be created, since a read-only one | | * Only a writable InMemory database can be created, since a read-only one | |
| * would always remain empty. | | * would always remain empty. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| WritableDatabase open(); | | WritableDatabase open(); | |
| | | | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #ifdef XAPIAN_HAS_QUARTZ_BACKEND | | #ifdef XAPIAN_HAS_QUARTZ_BACKEND | |
|
| | | /// Database factory functions for the quartz backend. | |
| namespace Quartz { | | namespace Quartz { | |
| | | | |
| /** Construct a Database object for read-only access to a Quartz database. | | /** Construct a Database object for read-only access to a Quartz database. | |
| * | | * | |
| * The Quartz backend is deprecated - use the Flint backend instead. | | * The Quartz backend is deprecated - use the Flint backend instead. | |
| * | | * | |
| * @param dir pathname of the directory containing the database. | | * @param dir pathname of the directory containing the database. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| XAPIAN_DEPRECATED(Database open(const std::string &dir)); | | XAPIAN_DEPRECATED(Database open(const std::string &dir)); | |
| | | | |
| skipping to change at line 105 | | skipping to change at line 108 | |
| * existing database. | | * existing database. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| XAPIAN_DEPRECATED(WritableDatabase | | XAPIAN_DEPRECATED(WritableDatabase | |
| open(const std::string &dir, int action, int block_size = 8192)); | | open(const std::string &dir, int action, int block_size = 8192)); | |
| | | | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #ifdef XAPIAN_HAS_FLINT_BACKEND | | #ifdef XAPIAN_HAS_FLINT_BACKEND | |
|
| | | /// Database factory functions for the flint backend. | |
| namespace Flint { | | namespace Flint { | |
| | | | |
| /** Construct a Database object for read-only access to a Flint database. | | /** Construct a Database object for read-only access to a Flint database. | |
| * | | * | |
| * @param dir pathname of the directory containing the database. | | * @param dir pathname of the directory containing the database. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| Database open(const std::string &dir); | | Database open(const std::string &dir); | |
| | | | |
| /** Construct a Database object for update access to a Flint database. | | /** Construct a Database object for update access to a Flint database. | |
| | | | |
| skipping to change at line 140 | | skipping to change at line 144 | |
| * existing database. | | * existing database. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| WritableDatabase | | WritableDatabase | |
| open(const std::string &dir, int action, int block_size = 8192); | | open(const std::string &dir, int action, int block_size = 8192); | |
| | | | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #ifdef XAPIAN_HAS_REMOTE_BACKEND | | #ifdef XAPIAN_HAS_REMOTE_BACKEND | |
|
| | | /// Database factory functions for the remote backend. | |
| namespace Remote { | | namespace Remote { | |
| | | | |
| /** Construct a Database object for read-only access to a remote database | | /** Construct a Database object for read-only access to a remote database | |
| * accessed via a TCP connection. | | * accessed via a TCP connection. | |
| * | | * | |
| * Access to the remote database is via a TCP connection to the specified | | * Access to the remote database is via a TCP connection to the specified | |
| * host and port. | | * host and port. | |
| * | | * | |
| * @param host hostname to connect to. | | * @param host hostname to connect to. | |
| * @param port port number to connect to. | | * @param port port number to connect to. | |
| | | | |
End of changes. 6 change blocks. |
| 1 lines changed or deleted | | 6 lines changed or added | |
|
| query.h | | query.h | |
| | | | |
| skipping to change at line 80 | | skipping to change at line 80 | |
| OP_XOR, | | OP_XOR, | |
| | | | |
| /// Return iff left satisfied, but use weights from both | | /// Return iff left satisfied, but use weights from both | |
| OP_AND_MAYBE, | | OP_AND_MAYBE, | |
| | | | |
| /// As AND, but use only weights from left subquery | | /// As AND, but use only weights from left subquery | |
| OP_FILTER, | | OP_FILTER, | |
| | | | |
| /** Find occurrences of a list of terms with all the terms | | /** Find occurrences of a list of terms with all the terms | |
| * occurring within a specified window of positions. | | * occurring within a specified window of positions. | |
|
| | | * | |
| * Each occurrence of a term must be at a different position, | | * Each occurrence of a term must be at a different position, | |
| * but the order they appear in is irrelevant. | | * but the order they appear in is irrelevant. | |
| * | | * | |
| * The window parameter should be specified for this operation, | | * The window parameter should be specified for this operation, | |
| * but will default to the number of terms in the list. | | * but will default to the number of terms in the list. | |
| */ | | */ | |
| OP_NEAR, | | OP_NEAR, | |
| | | | |
| /** Find occurrences of a list of terms with all the terms | | /** Find occurrences of a list of terms with all the terms | |
| * occurring within a specified window of positions, and all | | * occurring within a specified window of positions, and all | |
|
| * the terms appearing in the order specified. Each occurrence | | * the terms appearing in the order specified. | |
| * of a term must be at a different position. | | * | |
| | | * Each occurrence of a term must be at a different position. | |
| * | | * | |
| * The window parameter should be specified for this operation, | | * The window parameter should be specified for this operation, | |
| * but will default to the number of terms in the list. | | * but will default to the number of terms in the list. | |
| */ | | */ | |
| OP_PHRASE, | | OP_PHRASE, | |
| | | | |
| /** Filter by a range test on a document value. */ | | /** Filter by a range test on a document value. */ | |
| OP_VALUE_RANGE, | | OP_VALUE_RANGE, | |
| | | | |
| /** Scale the weight of a subquery by the specified factor. | | /** Scale the weight of a subquery by the specified factor. | |
| | | | |
| skipping to change at line 176 | | skipping to change at line 178 | |
| * For ELITE_SET, the elite set size can be specified in parameter. | | * For ELITE_SET, the elite set size can be specified in parameter. | |
| */ | | */ | |
| template <class Iterator> | | template <class Iterator> | |
| Query(Query::op op_, Iterator qbegin, Iterator qend, | | Query(Query::op op_, Iterator qbegin, Iterator qend, | |
| Xapian::termcount parameter = 0); | | Xapian::termcount parameter = 0); | |
| | | | |
| /** Apply the specified operator to a single Xapian::Query object. | | /** Apply the specified operator to a single Xapian::Query object. | |
| * | | * | |
| * @deprecated This method is deprecated because it isn't useful, | | * @deprecated This method is deprecated because it isn't useful, | |
| * since none of the current query operators can be usefully | | * since none of the current query operators can be usefully | |
|
| * applied to a single subquery with a parameter value. | | * applied to a single subquery without a parameter value. | |
| */ | | */ | |
| XAPIAN_DEPRECATED(Query(Query::op op_, Xapian::Query q)); | | XAPIAN_DEPRECATED(Query(Query::op op_, Xapian::Query q)); | |
| | | | |
| /** Apply the specified operator to a single Xapian::Query object, w
ith | | /** Apply the specified operator to a single Xapian::Query object, w
ith | |
| * a double parameter. | | * a double parameter. | |
| */ | | */ | |
| Query(Query::op op_, Xapian::Query q, double parameter); | | Query(Query::op op_, Xapian::Query q, double parameter); | |
| | | | |
| /** Construct a value range query on a document value. | | /** Construct a value range query on a document value. | |
| * | | * | |
| | | | |
End of changes. 3 change blocks. |
| 3 lines changed or deleted | | 5 lines changed or added | |
|
| queryparser.h | | queryparser.h | |
| | | | |
| skipping to change at line 91 | | skipping to change at line 91 | |
| | | | |
| /// Return a string describing this object. | | /// Return a string describing this object. | |
| virtual std::string get_description() const; | | virtual std::string get_description() const; | |
| }; | | }; | |
| | | | |
| /// Base class for value range processors. | | /// Base class for value range processors. | |
| struct XAPIAN_VISIBILITY_DEFAULT ValueRangeProcessor { | | struct XAPIAN_VISIBILITY_DEFAULT ValueRangeProcessor { | |
| /// Destructor. | | /// Destructor. | |
| virtual ~ValueRangeProcessor(); | | virtual ~ValueRangeProcessor(); | |
| | | | |
|
| /** See if <begin>..<end> is a valid value range. | | /** Check for a valid range of this type. | |
| * | | * | |
|
| * If this ValueRangeProcessor recognises <begin>..<end> it returns th
e | | * If this ValueRangeProcessor recognises BEGIN..END it returns the | |
| * value number of range filter on. Otherwise it returns | | * value number of range filter on. Otherwise it returns | |
| * Xapian::BAD_VALUENO. | | * Xapian::BAD_VALUENO. | |
| */ | | */ | |
| virtual Xapian::valueno operator()(std::string &begin, std::string &end
) = 0; | | virtual Xapian::valueno operator()(std::string &begin, std::string &end
) = 0; | |
| }; | | }; | |
| | | | |
| /** Handle a string range. | | /** Handle a string range. | |
| * | | * | |
| * The end points can be any strings. | | * The end points can be any strings. | |
| */ | | */ | |
| | | | |
| skipping to change at line 145 | | skipping to change at line 145 | |
| * month/day/year rather than day/month/year? | | * month/day/year rather than day/month/year? | |
| * (default: false) | | * (default: false) | |
| * @param epoch_year_ Year to use as the epoch for dates with 2 digit | | * @param epoch_year_ Year to use as the epoch for dates with 2 digit | |
| * years (default: 1970, so 1/1/69 is 2069 while | | * years (default: 1970, so 1/1/69 is 2069 while | |
| * 1/1/70 is 1970). | | * 1/1/70 is 1970). | |
| */ | | */ | |
| DateValueRangeProcessor(Xapian::valueno valno_, bool prefer_mdy_ = fals
e, | | DateValueRangeProcessor(Xapian::valueno valno_, bool prefer_mdy_ = fals
e, | |
| int epoch_year_ = 1970) | | int epoch_year_ = 1970) | |
| : valno(valno_), prefer_mdy(prefer_mdy_), epoch_year(epoch_year_) {
} | | : valno(valno_), prefer_mdy(prefer_mdy_), epoch_year(epoch_year_) {
} | |
| | | | |
|
| /** See if <begin>..<end> is a valid date value range. | | /** Check for a valid range of this type. | |
| * | | * | |
|
| * If <begin>..<end> is a sensible date range, this method returns the | | * If BEGIN..END is a sensible date range, this method returns the | |
| * value number of range filter on. Otherwise it returns | | * value number of range filter on. Otherwise it returns | |
| * Xapian::BAD_VALUENO. | | * Xapian::BAD_VALUENO. | |
| */ | | */ | |
| Xapian::valueno operator()(std::string &begin, std::string &end); | | Xapian::valueno operator()(std::string &begin, std::string &end); | |
| }; | | }; | |
| | | | |
| // Xapian 1.0.0 and 1.0.1 had a conceptually broken implementation of | | // Xapian 1.0.0 and 1.0.1 had a conceptually broken implementation of | |
| // NumberValueRangeProcessor which we quickly told people to avoid using.
But | | // NumberValueRangeProcessor which we quickly told people to avoid using.
But | |
| // to keep ABI compatibility, we should keep it around until the next | | // to keep ABI compatibility, we should keep it around until the next | |
| // incompatible ABI change (in 1.1.0). So we put the new | | // incompatible ABI change (in 1.1.0). So we put the new | |
| | | | |
| skipping to change at line 225 | | skipping to change at line 225 | |
| * processor has been added to the queryparser, the queryparser will | | * processor has been added to the queryparser, the queryparser will | |
| * accept "$10..50" or "$10..$50", but not "10..50" or "10..$50" as va
lid | | * accept "$10..50" or "$10..$50", but not "10..50" or "10..$50" as va
lid | |
| * ranges. If str_ is "kg" and prefix_ is false, the queryparser will | | * ranges. If str_ is "kg" and prefix_ is false, the queryparser will | |
| * accept "10..50kg" or "10kg..50kg", but not "10..50" or "10kg..50" a
s | | * accept "10..50kg" or "10kg..50kg", but not "10..50" or "10kg..50" a
s | |
| * valid ranges. | | * valid ranges. | |
| */ | | */ | |
| NumberValueRangeProcessor(Xapian::valueno valno_, const std::string &st
r_, | | NumberValueRangeProcessor(Xapian::valueno valno_, const std::string &st
r_, | |
| bool prefix_ = true) | | bool prefix_ = true) | |
| : valno(valno_), prefix(prefix_), str(str_) { } | | : valno(valno_), prefix(prefix_), str(str_) { } | |
| | | | |
|
| /** See if <begin>..<end> is a valid numeric value range. | | /** Check for a valid range of this type. | |
| * | | * | |
|
| * If <begin>..<end> is a valid numeric value range, and has the | | * If BEGIN..END is a valid numeric value range, and has the | |
| * appropriate prefix or suffix (if specified) required for this | | * appropriate prefix or suffix (if specified) required for this | |
| * NumberValueRangeProcessor, this method returns the value number of | | * NumberValueRangeProcessor, this method returns the value number of | |
| * range filter on, and sets begin and end to the appropriate serialis
ed | | * range filter on, and sets begin and end to the appropriate serialis
ed | |
| * values needed to delimit the range. Otherwise it returns | | * values needed to delimit the range. Otherwise it returns | |
| * Xapian::BAD_VALUENO. | | * Xapian::BAD_VALUENO. | |
| */ | | */ | |
| Xapian::valueno operator()(std::string &begin, std::string &end); | | Xapian::valueno operator()(std::string &begin, std::string &end); | |
| }; | | }; | |
| | | | |
| #ifndef DOXYGEN | | #ifndef DOXYGEN | |
| | | | |
| skipping to change at line 421 | | skipping to change at line 421 | |
| * Multiple fields can be mapped to the same prefix. For example, you | | * Multiple fields can be mapped to the same prefix. For example, you | |
| * can make title: and subject: aliases for each other. | | * can make title: and subject: aliases for each other. | |
| * | | * | |
| * As of 1.0.4, you can call this method multiple times with the same | | * As of 1.0.4, you can call this method multiple times with the same | |
| * value of field to allow a single field to be mapped to multiple | | * value of field to allow a single field to be mapped to multiple | |
| * prefixes. Multiple terms being generated for such a field, and | | * prefixes. Multiple terms being generated for such a field, and | |
| * combined with @c Xapian::Query::OP_OR. | | * combined with @c Xapian::Query::OP_OR. | |
| * | | * | |
| * If any prefixes are specified for the empty field name (i.e. you | | * If any prefixes are specified for the empty field name (i.e. you | |
| * call this method with an empty string as the first parameter) | | * call this method with an empty string as the first parameter) | |
|
| * these prefixes will be used as the default prefix. If you do | | * these prefixes will be used for terms without a field specifier. | |
| * this and also specify the @c default_prefix parameter to | | * If you do this and also specify the @c default_prefix parameter to | |
| * @c parse_query(), then the @c default_prefix parameter will overrid | | @c | |
| e. | | * parse_query(), then the @c default_prefix parameter will override. | |
| | | * | |
| | | * If the prefix parameter is empty, then "field:word" will produce th | |
| | | e | |
| | | * term "word" (and this can be one of several prefixes for a particul | |
| | | ar | |
| | | * field, or for terms without a field specifier). | |
| * | | * | |
| * If you call @c add_prefix() and @c add_boolean_prefix() for the | | * If you call @c add_prefix() and @c add_boolean_prefix() for the | |
| * same value of @a field, a @c Xapian::InvalidOperationError exceptio
n | | * same value of @a field, a @c Xapian::InvalidOperationError exceptio
n | |
| * will be thrown. | | * will be thrown. | |
| * | | * | |
| * In 1.0.3 and earlier, subsequent calls to this method with the same | | * In 1.0.3 and earlier, subsequent calls to this method with the same | |
| * value of @a field had no effect. | | * value of @a field had no effect. | |
| * | | * | |
| * @param field The user visible field name | | * @param field The user visible field name | |
| * @param prefix The term prefix to map this to | | * @param prefix The term prefix to map this to | |
| | | | |
End of changes. 7 change blocks. |
| 10 lines changed or deleted | | 16 lines changed or added | |
|
| unicode.h | | unicode.h | |
| | | | |
| skipping to change at line 61 | | skipping to change at line 61 | |
| /** Return the number of bytes left in the iterator's buffer. */ | | /** Return the number of bytes left in the iterator's buffer. */ | |
| size_t left() const { return p ? end - p : 0; } | | size_t left() const { return p ? end - p : 0; } | |
| | | | |
| /** Assign a new string to the iterator. | | /** Assign a new string to the iterator. | |
| * | | * | |
| * The iterator will forget the string it was iterating through, and | | * The iterator will forget the string it was iterating through, and | |
| * return characters from the start of the new string when next called
. | | * return characters from the start of the new string when next called
. | |
| * The string is not copied into the iterator, so it must remain valid | | * The string is not copied into the iterator, so it must remain valid | |
| * while the iteration is in progress. | | * while the iteration is in progress. | |
| * | | * | |
|
| * @param p A pointer to the start of the string to read. | | * @param p_ A pointer to the start of the string to read. | |
| * | | * | |
| * @param len The length of the string to read. | | * @param len The length of the string to read. | |
| */ | | */ | |
| void assign(const char *p_, size_t len) { | | void assign(const char *p_, size_t len) { | |
| if (len) { | | if (len) { | |
| p = reinterpret_cast<const unsigned char*>(p_); | | p = reinterpret_cast<const unsigned char*>(p_); | |
| end = p + len; | | end = p + len; | |
| seqlen = 0; | | seqlen = 0; | |
| } else { | | } else { | |
| p = NULL; | | p = NULL; | |
| | | | |
| skipping to change at line 93 | | skipping to change at line 93 | |
| * is in progress. | | * is in progress. | |
| */ | | */ | |
| void assign(const std::string &s) { assign(s.data(), s.size()); } | | void assign(const std::string &s) { assign(s.data(), s.size()); } | |
| | | | |
| /** Create an iterator given a pointer to a null terminated string. | | /** Create an iterator given a pointer to a null terminated string. | |
| * | | * | |
| * The iterator will return characters from the start of the string wh
en | | * The iterator will return characters from the start of the string wh
en | |
| * next called. The string is not copied into the iterator, so it mus
t | | * next called. The string is not copied into the iterator, so it mus
t | |
| * remain valid while the iteration is in progress. | | * remain valid while the iteration is in progress. | |
| * | | * | |
|
| * @param p A pointer to the start of the null terminated string to re
ad. | | * @param p_ A pointer to the start of the null terminated string to r
ead. | |
| */ | | */ | |
| explicit Utf8Iterator(const char *p_); | | explicit Utf8Iterator(const char *p_); | |
| | | | |
| /** Create an iterator given a pointer and a length. | | /** Create an iterator given a pointer and a length. | |
| * | | * | |
| * The iterator will return characters from the start of the string wh
en | | * The iterator will return characters from the start of the string wh
en | |
| * next called. The string is not copied into the iterator, so it mus
t | | * next called. The string is not copied into the iterator, so it mus
t | |
| * remain valid while the iteration is in progress. | | * remain valid while the iteration is in progress. | |
| * | | * | |
|
| * @param p A pointer to the start of the string to read. | | * @param p_ A pointer to the start of the string to read. | |
| * | | * | |
| * @param len The length of the string to read. | | * @param len The length of the string to read. | |
| */ | | */ | |
| Utf8Iterator(const char *p_, size_t len) { assign(p_, len); } | | Utf8Iterator(const char *p_, size_t len) { assign(p_, len); } | |
| | | | |
| /** Create an iterator given a string. | | /** Create an iterator given a string. | |
| * | | * | |
| * The iterator will return characters from the start of the string wh
en | | * The iterator will return characters from the start of the string wh
en | |
| * next called. The string is not copied into the iterator, so it mus
t | | * next called. The string is not copied into the iterator, so it mus
t | |
| * remain valid while the iteration is in progress. | | * remain valid while the iteration is in progress. | |
| | | | |
| skipping to change at line 182 | | skipping to change at line 182 | |
| /// We implement the semantics of an STL input_iterator. | | /// We implement the semantics of an STL input_iterator. | |
| //@{ | | //@{ | |
| typedef std::input_iterator_tag iterator_category; | | typedef std::input_iterator_tag iterator_category; | |
| typedef unsigned value_type; | | typedef unsigned value_type; | |
| typedef size_t difference_type; | | typedef size_t difference_type; | |
| typedef const unsigned * pointer; | | typedef const unsigned * pointer; | |
| typedef const unsigned & reference; | | typedef const unsigned & reference; | |
| //@} | | //@} | |
| }; | | }; | |
| | | | |
|
| | | /// Functions associated with handling Unicode characters. | |
| namespace Unicode { | | namespace Unicode { | |
| | | | |
| /** Each Unicode character is in exactly one of these categories. */ | | /** Each Unicode character is in exactly one of these categories. */ | |
| typedef enum { | | typedef enum { | |
| UNASSIGNED, | | UNASSIGNED, | |
| UPPERCASE_LETTER, | | UPPERCASE_LETTER, | |
| LOWERCASE_LETTER, | | LOWERCASE_LETTER, | |
| TITLECASE_LETTER, | | TITLECASE_LETTER, | |
| MODIFIER_LETTER, | | MODIFIER_LETTER, | |
| OTHER_LETTER, | | OTHER_LETTER, | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 4 lines changed or added | |
|
| version.h | | version.h | |
|
| // version.h: Define preprocesor symbols for the library version. | | /** @file version.h | |
| // If using GCC, also check the C++ ABI version is compatible with that use | | * @brief Define preprocesor symbols for the library version | |
| d | | */ | |
| // to build the library. | | // Copyright (C) 2002,2004,2005,2006,2007,2009 Olly Betts | |
| // | | | |
| // Copyright (C) 2002,2004,2005,2006,2007 Olly Betts | | | |
| // | | // | |
| // This program is free software; you can redistribute it and/or | | // This program is free software; you can redistribute it and/or | |
| // modify it under the terms of the GNU General Public License as | | // modify it under the terms of the GNU General Public License as | |
| // published by the Free Software Foundation; either version 2 of the | | // published by the Free Software Foundation; either version 2 of the | |
| // License, or (at your option) any later version. | | // License, or (at your option) any later version. | |
| // | | // | |
| // This program is distributed in the hope that it will be useful | | // This program is distributed in the hope that it will be useful | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of | | // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| // GNU General Public License for more details. | | // GNU General Public License for more details. | |
| | | | |
| skipping to change at line 39 | | skipping to change at line 38 | |
| #error The Xapian library was built with g++ 4.5.0 | | #error The Xapian library was built with g++ 4.5.0 | |
| #endif | | #endif | |
| | | | |
| #ifdef _GLIBCXX_DEBUG | | #ifdef _GLIBCXX_DEBUG | |
| #error You are compiling with _GLIBCXX_DEBUG defined, but the library | | #error You are compiling with _GLIBCXX_DEBUG defined, but the library | |
| #error was not compiled with this flag. The settings must match or your | | #error was not compiled with this flag. The settings must match or your | |
| #error program will not work correctly. | | #error program will not work correctly. | |
| #endif | | #endif | |
| #endif | | #endif | |
| | | | |
|
| #define XAPIAN_VERSION "1.0.14" | | /// The version of Xapian as a C string literal. | |
| | | #define XAPIAN_VERSION "1.0.15" | |
| | | | |
| | | /** The major component of the Xapian version. | |
| | | * E.g. for Xapian 1.0.14 this would be: 1 | |
| | | */ | |
| #define XAPIAN_MAJOR_VERSION 1 | | #define XAPIAN_MAJOR_VERSION 1 | |
|
| | | | |
| | | /** The minor component of the Xapian version. | |
| | | * E.g. for Xapian 1.0.14 this would be: 0 | |
| | | */ | |
| #define XAPIAN_MINOR_VERSION 0 | | #define XAPIAN_MINOR_VERSION 0 | |
|
| #define XAPIAN_REVISION 14 | | | |
| | | | |
|
| | | /** The revision component of the Xapian version. | |
| | | * E.g. for Xapian 1.0.14 this would be: 14 | |
| | | */ | |
| | | #define XAPIAN_REVISION 15 | |
| | | | |
| | | /// XAPIAN_HAS_FLINT_BACKEND Defined if the flint backend is enabled. | |
| #define XAPIAN_HAS_FLINT_BACKEND 1 | | #define XAPIAN_HAS_FLINT_BACKEND 1 | |
|
| | | | |
| | | /// XAPIAN_HAS_QUARTZ_BACKEND Defined if the quartz backend is enabled. | |
| #define XAPIAN_HAS_QUARTZ_BACKEND 1 | | #define XAPIAN_HAS_QUARTZ_BACKEND 1 | |
|
| | | | |
| | | /// XAPIAN_HAS_INMEMORY_BACKEND Defined if the inmemory backend is enabled. | |
| #define XAPIAN_HAS_INMEMORY_BACKEND 1 | | #define XAPIAN_HAS_INMEMORY_BACKEND 1 | |
|
| | | | |
| | | /// XAPIAN_HAS_REMOTE_BACKEND Defined if the remote backend is enabled. | |
| #define XAPIAN_HAS_REMOTE_BACKEND 1 | | #define XAPIAN_HAS_REMOTE_BACKEND 1 | |
| | | | |
| #endif /* XAPIAN_INCLUDED_VERSION_H */ | | #endif /* XAPIAN_INCLUDED_VERSION_H */ | |
| | | | |
End of changes. 8 change blocks. |
| 8 lines changed or deleted | | 26 lines changed or added | |
|
| xapian.h | | xapian.h | |
| | | | |
| skipping to change at line 63 | | skipping to change at line 63 | |
| #include <xapian/stem.h> | | #include <xapian/stem.h> | |
| | | | |
| // Unicode support | | // Unicode support | |
| #include <xapian/unicode.h> | | #include <xapian/unicode.h> | |
| | | | |
| // ELF visibility annotations for GCC. | | // ELF visibility annotations for GCC. | |
| #include <xapian/visibility.h> | | #include <xapian/visibility.h> | |
| | | | |
| #include <xapian/deprecated.h> | | #include <xapian/deprecated.h> | |
| | | | |
|
| | | /// The Xapian namespace contains public interfaces for the Xapian library. | |
| | | namespace Xapian { | |
| | | | |
| // Functions returning library version: | | // Functions returning library version: | |
| | | | |
|
| namespace Xapian { | | | |
| /** Report the version string of the library which the program is linked wi
th. | | /** Report the version string of the library which the program is linked wi
th. | |
| * | | * | |
| * This may be different to the version compiled against (given by | | * This may be different to the version compiled against (given by | |
| * XAPIAN_VERSION) if shared libraries are being used. | | * XAPIAN_VERSION) if shared libraries are being used. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| const char * version_string(); | | const char * version_string(); | |
| | | | |
| /** For compatibility with Xapian 0.9.5 and earlier. | | /** For compatibility with Xapian 0.9.5 and earlier. | |
| * | | * | |
| * @deprecated This function is now deprecated, use Xapian::version_string(
) | | * @deprecated This function is now deprecated, use Xapian::version_string(
) | |
| * instead. | | * instead. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| XAPIAN_DEPRECATED(const char * xapian_version_string()); | | XAPIAN_DEPRECATED(const char * xapian_version_string()); | |
| | | | |
|
| /** Report the major version of the library which the program is linked to. | | /** Report the major version of the library which the program is linked wit
h. | |
| * | | * | |
| * This may be different to the version compiled against (given by | | * This may be different to the version compiled against (given by | |
| * XAPIAN_MAJOR_VERSION) if shared libraries are being used. | | * XAPIAN_MAJOR_VERSION) if shared libraries are being used. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| int major_version(); | | int major_version(); | |
| | | | |
| /** For compatibility with Xapian 0.9.5 and earlier. | | /** For compatibility with Xapian 0.9.5 and earlier. | |
| * | | * | |
| * @deprecated This function is now deprecated, use Xapian::major_version() | | * @deprecated This function is now deprecated, use Xapian::major_version() | |
| * instead. | | * instead. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| XAPIAN_DEPRECATED(int xapian_major_version()); | | XAPIAN_DEPRECATED(int xapian_major_version()); | |
| | | | |
|
| /** Report the minor version of the library which the program is linked to. | | /** Report the minor version of the library which the program is linked wit
h. | |
| * | | * | |
| * This may be different to the version compiled against (given by | | * This may be different to the version compiled against (given by | |
| * XAPIAN_MINOR_VERSION) if shared libraries are being used. | | * XAPIAN_MINOR_VERSION) if shared libraries are being used. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| int minor_version(); | | int minor_version(); | |
| | | | |
| /** For compatibility with Xapian 0.9.5 and earlier. | | /** For compatibility with Xapian 0.9.5 and earlier. | |
| * | | * | |
| * @deprecated This function is now deprecated, use Xapian::minor_version() | | * @deprecated This function is now deprecated, use Xapian::minor_version() | |
| * instead. | | * instead. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| XAPIAN_DEPRECATED(int xapian_minor_version()); | | XAPIAN_DEPRECATED(int xapian_minor_version()); | |
| | | | |
|
| /** Report the revision of the library which the program is linked to. | | /** Report the revision of the library which the program is linked with. | |
| * | | * | |
| * This may be different to the version compiled against (given by | | * This may be different to the version compiled against (given by | |
| * XAPIAN_REVISION) if shared libraries are being used. | | * XAPIAN_REVISION) if shared libraries are being used. | |
| */ | | */ | |
| XAPIAN_VISIBILITY_DEFAULT | | XAPIAN_VISIBILITY_DEFAULT | |
| int revision(); | | int revision(); | |
| | | | |
| /** For compatibility with Xapian 0.9.5 and earlier. | | /** For compatibility with Xapian 0.9.5 and earlier. | |
| * | | * | |
| * @deprecated This function is now deprecated, use Xapian::revision() | | * @deprecated This function is now deprecated, use Xapian::revision() | |
| | | | |
End of changes. 5 change blocks. |
| 4 lines changed or deleted | | 6 lines changed or added | |
|