|
9 | 9 | #include <vector>
|
10 | 10 |
|
11 | 11 | #ifdef __has_include
|
12 |
| -#if __has_include(<optional>) |
13 |
| -#define _MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
| 12 | +#if __cplusplus > 201402 && __has_include(<optional>) |
| 13 | +#define MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
14 | 14 | #endif
|
15 | 15 | #endif
|
16 | 16 |
|
17 |
| -#ifdef _MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
| 17 | +#ifdef MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
18 | 18 | #include <optional>
|
19 | 19 | #endif
|
20 | 20 |
|
@@ -260,7 +260,7 @@ namespace sqlite {
|
260 | 260 | friend database_binder& operator <<(database_binder& db, const std::u16string& txt);
|
261 | 261 |
|
262 | 262 |
|
263 |
| -#ifdef _MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
| 263 | +#ifdef MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
264 | 264 | template <typename OptionalT> friend database_binder& operator <<(database_binder& db, const std::optional<OptionalT>& val);
|
265 | 265 | template <typename OptionalT> friend void get_col_from_db(database_binder& db, int inx, std::optional<OptionalT>& o);
|
266 | 266 | #endif
|
@@ -775,7 +775,7 @@ namespace sqlite {
|
775 | 775 | sqlite3_result_text16(db, val.data(), -1, SQLITE_TRANSIENT);
|
776 | 776 | }
|
777 | 777 | // std::optional support for NULL values
|
778 |
| -#ifdef _MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
| 778 | +#ifdef MODERN_SQLITE_STD_OPTIONAL_SUPPORT |
779 | 779 | template <typename OptionalT> inline database_binder& operator <<(database_binder& db, const std::optional<OptionalT>& val) {
|
780 | 780 | if(val) {
|
781 | 781 | return operator << (std::move(db), std::move(*val));
|
|
0 commit comments