ThinSQLite++
A thin, safe and convenient modern C++ wrapper for the SQLite API.
Toggle main menu visibility
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/master/LICENSE
7
*/
8
9
#ifndef HEADER_SQLITEPP_CONFIG_INCLUDED
10
#define HEADER_SQLITEPP_CONFIG_INCLUDED
11
12
#ifndef SQLITE_VERSION
13
#if defined(THINSQLITEPP_CUSTOM_SQLITE_H)
14
#include THINSQLITEPP_CUSTOM_SQLITE_H
15
#elif THINSQLITEPP_BUILDING_EXTENSION
16
#include <sqlite3ext.h>
17
SQLITE_EXTENSION_INIT3
18
#else
19
#include <
sqlite3.h
>
20
#endif
21
#endif
22
23
#define SQLITEPP_SQLITE_VERSION(x, y, z) ((x) * 1000000 + (y) * 1000 + (z))
24
25
#if SQLITE_VERSION_NUMBER < SQLITEPP_SQLITE_VERSION(3, 7, 15)
26
27
#error This library requires SQLite 3.7.15 or greater
28
29
#endif
30
31
#if __cplusplus <= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG <= 201703L)
32
33
#define SQLITEPP_USE_VARARG_POUND_POUND_TRICK 1
34
35
#endif
36
37
#ifdef __clang__
38
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_BEGIN _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"")
39
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_END _Pragma("GCC diagnostic pop")
40
#else
41
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_BEGIN
42
#define SQLITEPP_SUPPRESS_SILLY_VARARG_WARNING_END
43
#endif
44
45
#ifndef DOXYGEN
46
#if __cpp_concepts >= 201907L
47
#define SQLITEPP_ENABLE_IF(cond, t) requires(cond) t
48
#define SQLITEPP_ENABLE_IFP(prefix, cond, t) requires(cond) prefix t
49
#else
50
#define SQLITEPP_ENABLE_IF(cond, t) std::enable_if_t<(cond), t>
51
#define SQLITEPP_ENABLE_IFP(prefix, cond, t) prefix std::enable_if_t<(cond), t>
52
#endif
53
#else
54
#define SQLITEPP_ENABLE_IF(cond, t) t
55
#endif
56
57
#if SQLITEPP_BUILDING_MODULE
58
#define SQLITEPP_EXPORTED export
59
#else
60
#define SQLITEPP_EXPORTED
61
#endif
62
63
#endif
64
sqlite3.h
Generated by
1.17.0