39 NameLiteral() =
delete;
41#if defined(__clang__
) && __clang_major__
< 18
45 USERVER_IMPL_CONSTEVAL
47 NameLiteral(
const char* literal)
noexcept
60 Query(
const Query& other) =
default;
61 Query(
Query&& other) =
default;
62 Query& operator=(
const Query& other) =
default;
67 : data_{StaticStrings{statement, name}},
71 Query(
const char* statement, std::optional<Name> name = std::nullopt,
LogMode log_mode =
LogMode::kFull)
72 :
Query(std::string{statement}, std::move(name), log_mode)
74 Query(std::string statement, std::optional<Name> name = std::nullopt,
LogMode log_mode =
LogMode::kFull)
75 : data_{DynamicStrings{std::move(statement), std::move(name)}},
92 struct DynamicStrings {
93 std::string statement;
94 std::optional<Name> name;
96 struct StaticStrings {
100 struct NameViewVisitor;
102 std::variant<StaticStrings, DynamicStrings> data_ = StaticStrings{utils::
StringLiteral{
""}, std::nullopt};