ThinSQLite++
A thin, safe and convenient modern C++ wrapper for SQLite API.
Loading...
Searching...
No Matches
impl
config.hpp
1
/*
2
Copyright 2019 Eugene Gershnik
3
4
Use of this source code is governed by a BSD-style
5
license that can be found in the LICENSE file or at
6
https://github.com/gershnik/thinsqlitepp/blob/main/LICENSE
7
*/
8
9
#ifndef HEADER_SQLITEPP_CONFIG_INCLUDED
10
#define HEADER_SQLITEPP_CONFIG_INCLUDED
11
12
#ifndef SQLITE_VERSION
13
#if THINSQLITEPP_BUILDING_EXTENSION
14
#include <sqlite3ext.h>
15
SQLITE_EXTENSION_INIT3
16
#else
17
#include <
sqlite3.h
>
18
#endif
19
#endif
20
21
#define SQLITEPP_SQLITE_VERSION(x, y, z) ((x) * 1000000 + (y) * 1000 + (z))
22
23
#if SQLITE_VERSION_NUMBER < SQLITEPP_SQLITE_VERSION(3, 7, 15)
24
25
#error This library requires SQLite 3.7.15 or greater
26
27
#endif
28
29
#if __cplusplus <= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG <= 201703L)
30
31
#define SQLITEPP_USE_VARARG_POUND_POUND_TRICK 1
32
33
#endif
34
35
#ifdef __clang__
36
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_BEGIN _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"")
37
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_END _Pragma("GCC diagnostic pop")
38
#else
39
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_BEGIN
40
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_END
41
#endif
42
43
#ifndef DOXYGEN
44
#define SQLITEPP_ENABLE_IF(cond, t) std::enable_if_t<(cond), t>
45
#else
46
#define SQLITEPP_ENABLE_IF(cond, t) t
47
#endif
48
49
#endif
50
sqlite3.h
Generated by
1.12.0