File: StaticRow.qbk

package info (click to toggle)
boost1.83 1.83.0-4.2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 545,456 kB
  • sloc: cpp: 3,857,086; xml: 125,552; ansic: 34,414; python: 25,887; asm: 5,276; sh: 4,799; ada: 1,681; makefile: 1,629; perl: 1,212; pascal: 1,139; sql: 810; yacc: 478; ruby: 102; lisp: 24; csh: 6
file content (32 lines) | stat: -rw-r--r-- 1,485 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[/
    Copyright (c) 2019-2023 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
   
    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
]

[section:boost__mysql__StaticRow StaticRow concept]

A `StaticRow` is a C++ type that can be used to model a row within the
static interface (i.e. [reflink static_results], [reflink static_execution_state]).

A type `T` is a `StaticRow` if either of the following is true:

* It is a `struct` annotated with Boost.Describe data (i.e., having
  `boost::describe::has_describe_members<T>::value == true`), and all the described
  members fulfill the `ReadableField` exposition-only concept.
* It is a `std::tuple` instantiation, and all of its types fulfill the
  `ReadableField` exposition-only concept.

Note that empty Describe structs and empty tuples are valid `StaticRow`s.

A `ReadableField` is C++ type that can be used to model a single value in a database row.
A type `F` is a `ReadableField` if it is any of the types listed
[link mysql.static_interface.readable_field_reference in this table]. The set of readable field types
is currently fixed and can't be extended by the user. If this is something you have interest in,
[@https://github.com/boostorg/mysql/issues/new please file an issue] with your use case to the repo.

The set of allowable types may be extended in future releases, both for fields and for rows.


[endsect]