SQT
A C++ ORM framework for SQLite
Loading...
Searching...
No Matches
sqt::PlaceholderOperand< TRAITS > Class Template Reference

#include <sqt/orm/expression/operand/placeholder_operand.h>

Description

template<ValueTraitsType TRAITS>
class sqt::PlaceholderOperand< TRAITS >

Represents a placeholder operand in an expression.

Template Parameters
TRAITSThe value traits type the placeholder represents, which must satisfy the sqt::ValueTraitsType concept.

When using the sqt::_ constant to create an expression, a placeholder operand is created. A placeholder operand does not store any value, and it creates a binder by the BuildPlaceholderBinders() method for users to bind values at the specified parameter index. The bindings of placeholders in a querier is done by the BeginBindings() method of the sqt::Executor<> class template.

This class template satisfies the sqt::ValueOperandType concept.

See also
sqt::Executor<>::BeginBindings()
sqt::ValueOperandType
sqt::ValueTraitsType
sqt::_

Public Types

using ValueTraits = TRAITS
using ValueType = typename TRAITS::ValueType

Static Public Member Functions

static std::string BuildSQL ()
static constexpr auto BuildPlaceholderBinders (int parameter_index) noexcept

Public Member Functions

constexpr void BindInlineParameters (Statement &statement, int parameter_index) const noexcept

Static Public Attributes

static constexpr std::size_t ParameterCount = internal::ParameterCountForV<TRAITS>