SQT
A C++ ORM framework for SQLite
Loading...
Searching...
No Matches
sqt::Predicate< OPERATOR, LHS, RHS > Class Template Reference

#include <sqt/orm/expression/predicate.h>

Description

template<PredicateOperator OPERATOR, PredicateTermType LHS, PredicateTermType RHS>
class sqt::Predicate< OPERATOR, LHS, RHS >

Represents a predicate that combines two operands with an operator.

Template Parameters
OPERATORThe operator to use for the predicate.
LHSThe left-hand side operand of the predicate, which must satisfy the sqt::PredicateTermType concept.
RHSThe right-hand side operand of the predicate, which must satisfy the sqt::PredicateTermType concept.

This class template satisfies the sqt::PredicateType concept.

See also
sqt::PredicateOperator
sqt::PredicateType
sqt::PredicateTermType

Public Types

using LHSOperand = LHS
using RHSOperand = RHS

Static Public Member Functions

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

Public Member Functions

constexpr Predicate (LHS lhs, RHS rhs)
template<PredicateType OTHER>
constexpr auto operator&& (OTHER other) const
template<PredicateType OTHER>
constexpr auto operator|| (OTHER other) const
void BindInlineParameters (Statement &statement, int parameter_index) const

Static Public Attributes

static constexpr PredicateOperator Operator = OPERATOR
static constexpr std::size_t ParameterCount = LHS::ParameterCount + RHS::ParameterCount