diff options
| author | David Bremner <david@tethera.net> | 2017-02-16 23:07:49 -0400 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-02-18 22:17:39 -0400 |
| commit | e30fa4182fbae7b302d1e90de9f36a8d08a47c1b (patch) | |
| tree | 33feeeb707a14704c1621a38a16606fee7819154 /lib/database-private.h | |
| parent | 08343d3da03a11e7a575981fac20ab10426f19be (diff) | |
lib: merge internal prefix tables
Replace multiple tables with some flags in a single table. This makes
the code in notmuch_database_open_verbose a bit shorter, and it should
also make it easier to add other options to fields, e.g. regexp
searching.
Diffstat (limited to 'lib/database-private.h')
| -rw-r--r-- | lib/database-private.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/database-private.h b/lib/database-private.h index ccc1e9a1..67d98570 100644 --- a/lib/database-private.h +++ b/lib/database-private.h @@ -148,6 +148,30 @@ operator&=(_notmuch_features &a, _notmuch_features b) return a; } +/* + * Configuration options for xapian database fields */ +typedef enum notmuch_field_flags { + NOTMUCH_FIELD_NO_FLAGS = 0, + NOTMUCH_FIELD_EXTERNAL = 1 << 0, + NOTMUCH_FIELD_PROBABILISTIC = 1 << 1 +} notmuch_field_flag_t; + +/* + * define bitwise operators to hide casts */ +inline notmuch_field_flag_t +operator|(notmuch_field_flag_t a, notmuch_field_flag_t b) +{ + return static_cast<notmuch_field_flag_t>( + static_cast<unsigned>(a) | static_cast<unsigned>(b)); +} + +inline notmuch_field_flag_t +operator&(notmuch_field_flag_t a, notmuch_field_flag_t b) +{ + return static_cast<notmuch_field_flag_t>( + static_cast<unsigned>(a) & static_cast<unsigned>(b)); +} + #define NOTMUCH_QUERY_PARSER_FLAGS (Xapian::QueryParser::FLAG_BOOLEAN | \ Xapian::QueryParser::FLAG_PHRASE | \ Xapian::QueryParser::FLAG_LOVEHATE | \ |
