relx 0.1.0
A Modern C++23 Type-Safe SQL Query Builder
Loading...
Searching...
No Matches
relx::type_checking Namespace Reference

Type compatibility utilities for column comparisons. More...

Classes

struct  remove_optional
 Helper to extract the underlying type from optional. More...
 
struct  remove_optional< std::optional< T > >
 

Concepts

concept  StringCompatible
 Check if two types are string-compatible.
 
concept  OptionalCompatible
 Check if optional types are compatible with each other or their underlying types.
 
concept  TypeCompatible
 Check if column type is compatible with value type.
 

Typedefs

template<typename T >
using remove_optional_t = typename remove_optional< T >::type
 

Variables

constexpr std::string_view type_error_message
 Constant error message for type mismatches.
 

Detailed Description

Type compatibility utilities for column comparisons.

Typedef Documentation

◆ remove_optional_t

template<typename T >
using relx::type_checking::remove_optional_t = typedef typename remove_optional<T>::type

Definition at line 36 of file operators.hpp.

Variable Documentation

◆ type_error_message

constexpr std::string_view relx::type_checking::type_error_message
inlineconstexpr
Initial value:
=
"Column type and value type are not compatible. "
"Column types must match the value types being compared. "
"For string columns, you can use std::string, std::string_view, or const char*. "
"For optional columns, you can compare with the underlying type or another optional. "
"For numeric columns, types must match exactly (use explicit casts if needed)."

Constant error message for type mismatches.

Definition at line 85 of file operators.hpp.