1#ifndef QX_SQLCONCEPTS_H 
    2#define QX_SQLCONCEPTS_H 
   12#include "qx/sql/qx-sqlerror.h" 
   15#include "qx/utility/qx-stringliteral.h" 
   24template<
class Struct, Qx::CStringLiteral member>
 
   25struct MemberOverrideConverter;
 
   27template<
typename SelfType, 
typename DelayedSelfType>
 
   28struct QxSqlMetaStructOutside;
 
   33    T::template QxSqlMetaStructInside<T>::memberMetadata();
 
 
   38    QxSqlMetaStructOutside<T, T>::memberMetadata();
 
 
   46    { Converter<T>::fromSql(tValue, QVariant()) } -> std::same_as<Qx::SqlError>;
 
   47    { Converter<T>::toSql(tValue) } -> std::same_as<QVariant>;
 
 
   50template<
class K, 
typename T, Qx::CStringLiteral N>
 
   52    { MemberOverrideConverter<K, N>::fromSql(tValue, QVariant()) } -> std::same_as<Qx::SqlError>;
 
   53    { MemberOverrideConverter<K, N>::toSql(tValue) } -> std::same_as<QVariant>;
 
 
   56template<
typename Key, 
class Value>
 
   58    { keygen<Key, Value>(v) } -> std::same_as<Key>;
 
 
Specifies that a type is an associative container, the value type of which is convertible,...
Definition qx-sqlconcepts.h:66
 
Specifies that a type is a non-associative container, the value type of which is convertible to/from ...
Definition qx-sqlconcepts.h:62
 
Specifies that a type is a container, and abides by the other corresponding restrictions for that kin...
Definition qx-sqlconcepts.h:71
 
Specifies that a type is generally convertible to/from SQL.
Definition qx-sqlconcepts.h:45
 
Specifies that a type has a known method for creating a corresponding key.
Definition qx-sqlconcepts.h:57
 
Specifies that a type is a specialization of std::optional that manages values of a SQL convertible t...
Definition qx-sqlconcepts.h:75
 
Specifies that a type has override conversions for changing to/from SQL.
Definition qx-sqlconcepts.h:51
 
Specifies that a type is a SQL-tied struct registered with QX_SQL_STRUCT().
Definition qx-sqlconcepts.h:32
 
Specifies that a type is a SQL-tied struct registered with QX_SQL_STRUCT_OUTSIDE().
Definition qx-sqlconcepts.h:37
 
Specifies that a type is a SQL-tied struct.
Definition qx-sqlconcepts.h:42
 
Specifies that a type is a Qt-based associative container type.
Definition qx-concepts.h:520
 
Specifies that a type is a Qt-based collection type.
Definition qx-concepts.h:524
 
Specifies that a type is a specialization of a template.
Definition qx-concepts.h:513
 
The QxSql namespace contains several utilities that are specific to the SQL module and grouped togeth...
Definition qx-sqlconcepts.dox:10