userver: userver/storages/sqlite/row_types.hpp Source File
Loading...
Searching...
No Matches
row_types.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/storages/sqlite/row_types.hpp
4/// @brief Helper tags to disambiguate result extraction between row and field.
5
6#include <tuple>
7#include <type_traits>
8
9USERVER_NAMESPACE_BEGIN
10
11namespace storages::sqlite {
12
13/// Used for extracting statement results as a single field.
14struct FieldTag {};
15/// Used for extracting statement results as rows.
16struct RowTag {};
17
18inline constexpr FieldTag kFieldTag;
19inline constexpr RowTag kRowTag{};
20
21template <typename T>
22struct IsTuple : std::false_type {};
23
24template <typename... Args>
25struct IsTuple<std::tuple<Args...>> : std::true_type {};
26
27} // namespace storages::sqlite
28
29USERVER_NAMESPACE_END