#ifndef NOTMUCH_DATABASE_PRIVATE_H
#define NOTMUCH_DATABASE_PRIVATE_H
+/* According to WG14/N1124, a C++ implementation won't provide us a
+ * macro like PRIx64 (which gives a printf format string for
+ * formatting a uint64_t as hexadecimal) unless we define
+ * __STDC_FORMAT_MACROS before including inttypes.h. That's annoying,
+ * but there it is.
+ */
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+
#include "notmuch-private.h"
#include <xapian.h>
+#pragma GCC visibility push(hidden)
+
struct _notmuch_database {
notmuch_bool_t exception_reported;
notmuch_database_mode_t mode;
Xapian::Database *xapian_db;
+ unsigned int last_doc_id;
uint64_t last_thread_id;
Xapian::QueryParser *query_parser;
Xapian::TermGenerator *term_gen;
Xapian::ValueRangeProcessor *value_range_processor;
-
};
/* Convert tags from Xapian internal format to notmuch format.
_notmuch_convert_tags (void *ctx, Xapian::TermIterator &i,
Xapian::TermIterator &end);
+#pragma GCC visibility pop
+
#endif