8#ifndef BOOST_SQLITE_DETAIL_CONFIG_HPP
9#define BOOST_SQLITE_DETAIL_CONFIG_HPP
11#include <boost/config.hpp>
12#include <boost/core/detail/string_view.hpp>
14#if defined(BOOST_SQLITE_COMPILE_EXTENSION)
15#include <sqlite3ext.h>
16#define BOOST_SQLITE_COMPILING_EXTENSION 1
17#define BOOST_SQLITE_BEGIN_NAMESPACE namespace boost { namespace sqlite { inline namespace ext {
18#define BOOST_SQLITE_END_NAMESPACE } } }
21#define BOOST_SQLITE_BEGIN_NAMESPACE namespace boost { namespace sqlite {
22#define BOOST_SQLITE_END_NAMESPACE } }
26#if defined(BOOST_SQLITE_DOCS)
27# define BOOST_SQLITE_DECL
29# if (defined(BOOST_SQLITE_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_SQLITE_STATIC_LINK)
30# if defined(BOOST_SQLITE_SOURCE)
31# define BOOST_SQLITE_DECL BOOST_SYMBOL_EXPORT
33# define BOOST_SQLITE_DECL BOOST_SYMBOL_IMPORT
36# ifndef BOOST_SQLITE_DECL
37# define BOOST_SQLITE_DECL
39# if !defined(BOOST_SQLITE_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SQLITE_NO_LIB)
40# define BOOST_LIB_NAME boost_sqlite
41# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SQLITE_DYN_LINK)
42# define BOOST_DYN_LINK
44# include <boost/config/auto_link.hpp>
48BOOST_SQLITE_BEGIN_NAMESPACE
51#if defined(BOOST_SQLITE_COMPILE_EXTENSION)
52extern const sqlite3_api_routines *sqlite3_api;
55using string_view = boost::core::string_view;
57BOOST_SQLITE_END_NAMESPACE
59#define BOOST_SQLITE_RETURN_EC(ev) \
61 static constexpr auto loc##__LINE__((BOOST_CURRENT_LOCATION)); \
62 return ::boost::system::error_code(ev, boost::sqlite::sqlite_category(), &loc##__LINE__); \
65#define BOOST_SQLITE_ASSIGN_EC(ec, ev) \
67 static constexpr auto loc##__LINE__((BOOST_CURRENT_LOCATION)); \
68 ec.assign(ev, boost::sqlite::sqlite_category(), &loc##__LINE__); \
71#if defined(BOOST_SQLITE_NO_VIRTUAL)
72#define BOOST_SQLITE_VIRTUAL
73#define BOOST_SQLITE_PURE
75#define BOOST_SQLITE_VIRTUAL virtual
76#define BOOST_SQLITE_PURE = 0