LeechCraft
0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
sqliteimpl.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include "
oraltypes.h
"
12
13
namespace
LC::Util::oral::detail::SQLite
14
{
15
struct
ImplFactory
16
{
17
using
IsImpl_t
= void;
18
19
struct
TypeLits
20
{
21
inline
constexpr
static
CtString
IntAutoincrement
{
"INTEGER PRIMARY KEY AUTOINCREMENT"
};
22
inline
constexpr
static
CtString
Binary
{
"BLOB"
};
23
};
24
25
inline
constexpr
static
CtString
LimitNone
{
"-1"
};
26
27
constexpr
static
auto
GetInsertPrefix
(InsertAction::DefaultTag)
28
{
29
return
"INSERT"
_ct;
30
}
31
32
constexpr
static
auto
GetInsertPrefix
(InsertAction::IgnoreTag)
33
{
34
return
"INSERT OR IGNORE"
_ct;
35
}
36
37
constexpr
static
auto
GetInsertPrefix
(InsertAction::Replace::PKeyType)
38
{
39
return
"INSERT OR REPLACE"
_ct;
40
}
41
42
template
<
auto
... Ptrs>
43
constexpr
static
auto
GetInsertPrefix
(
InsertAction::Replace::FieldsType<Ptrs...>
)
44
{
45
return
"INSERT OR REPLACE"
_ct;
46
}
47
48
constexpr
static
auto
GetInsertSuffix
(
auto
...)
49
{
50
return
""
_ct;
51
}
52
};
53
}
54
55
namespace
LC::Util::oral
56
{
57
using
SQLiteImplFactory
=
detail::SQLite::ImplFactory
;
58
}
LC::Util::oral::detail::SQLite
Definition
sqliteimpl.h:14
LC::Util::oral
Definition
migrate.h:15
oraltypes.h
LC::Util::CtString
Definition
ctstring.h:28
LC::Util::oral::InsertAction::Replace::FieldsType
Definition
oraltypes.h:170
LC::Util::oral::detail::LimitNone
Definition
oral.h:1020
LC::Util::oral::detail::SQLite::ImplFactory::TypeLits
Definition
sqliteimpl.h:20
LC::Util::oral::detail::SQLite::ImplFactory::TypeLits::Binary
static constexpr CtString Binary
Definition
sqliteimpl.h:22
LC::Util::oral::detail::SQLite::ImplFactory::TypeLits::IntAutoincrement
static constexpr CtString IntAutoincrement
Definition
sqliteimpl.h:21
LC::Util::oral::detail::SQLite::ImplFactory
Definition
sqliteimpl.h:16
LC::Util::oral::detail::SQLite::ImplFactory::GetInsertPrefix
static constexpr auto GetInsertPrefix(InsertAction::DefaultTag)
Definition
sqliteimpl.h:27
LC::Util::oral::detail::SQLite::ImplFactory::GetInsertPrefix
static constexpr auto GetInsertPrefix(InsertAction::IgnoreTag)
Definition
sqliteimpl.h:32
LC::Util::oral::detail::SQLite::ImplFactory::GetInsertSuffix
static constexpr auto GetInsertSuffix(auto...)
Definition
sqliteimpl.h:48
LC::Util::oral::detail::SQLite::ImplFactory::IsImpl_t
void IsImpl_t
Definition
sqliteimpl.h:17
LC::Util::oral::detail::SQLite::ImplFactory::GetInsertPrefix
static constexpr auto GetInsertPrefix(InsertAction::Replace::FieldsType< Ptrs... >)
Definition
sqliteimpl.h:43
LC::Util::oral::detail::SQLite::ImplFactory::GetInsertPrefix
static constexpr auto GetInsertPrefix(InsertAction::Replace::PKeyType)
Definition
sqliteimpl.h:37
src
util
db
oral
sqliteimpl.h
Generated by
1.12.0