IronQuery
A SQL-first query builder for C++
Loading...
Searching...
No Matches
order_by.hpp
1#pragma once
2
3#include <iron_query/expr.hpp>
4
5namespace iron_query {
6
10enum class SortDirection {
11 kAscending,
12 kDescending,
13};
14
18enum class NullsOrder {
22 kFirst,
23 kLast,
24};
25
31struct [[nodiscard]] OrderByTerm final {
34 OrderByTerm(Expr expr, SortDirection direction = SortDirection::kAscending,
35 NullsOrder nulls_order = NullsOrder::kDefault);
36
43};
44
45} // namespace iron_query
Arbitrary SQL expression.
Definition expr.hpp:46
SortDirection
Sort direction for a single ORDER BY term. See iron_query::OrderByTerm.
Definition order_by.hpp:10
NullsOrder
Placement of NULLs within an ORDER BY term. See iron_query::OrderByTerm.
Definition order_by.hpp:18
@ kDefault
No explicit NULLS FIRST/LAST; the server's default applies (PostgreSQL: last for ascending,...
A single ORDER BY term: an expression plus its sort direction and NULL placement. Implicitly construc...
Definition order_by.hpp:31
SortDirection direction
Sort direction (ASC/DESC).
Definition order_by.hpp:40
Expr expr
The expression being sorted on.
Definition order_by.hpp:38
NullsOrder nulls_order
NULLS FIRST/LAST placement.
Definition order_by.hpp:42
OrderByTerm(Expr expr, SortDirection direction=SortDirection::kAscending, NullsOrder nulls_order=NullsOrder::kDefault)
Wraps expr with the given sort direction (ascending by default) and nulls_order (server default by de...