String conversion traits for binarystring
.
More...
Static Public Member Functions | |
static std::size_t | size_buffer (binarystring const &value) noexcept |
static zview | to_buf (char *begin, char *end, binarystring const &value) |
static char * | into_buf (char *begin, char *end, binarystring const &value) |
static binarystring | from_string (std::string_view text) |
static zview | to_buf (char *begin, char *end, binarystring const &value) |
Return a string_view representing value, plus terminating zero. | |
static char * | into_buf (char *begin, char *end, binarystring const &value) |
Write value's string representation into buffer at begin . | |
static binarystring | from_string (std::string_view text) |
Parse a string representation of a TYPE value. | |
static std::size_t | size_buffer (binarystring const &value) noexcept |
Estimate how much buffer space is needed to represent value. | |
Static Public Attributes | |
static constexpr bool | converts_to_string |
Is conversion from TYPE to strings supported? | |
static constexpr bool | converts_from_string |
Is conversion from string_view to TYPE supported? | |
String conversion traits for binarystring
.
Defines the conversions between a binarystring
and its PostgreSQL textual format, for communication with the database.
These conversions rely on the "hex" format which was introduced in PostgreSQL 9.0. Both your libpq and the server must be recent enough to speak this format.
|
inlinestaticnodiscard |
Parse a string representation of a TYPE
value.
Throws conversion_error
if value
does not meet the expected format for a value of this type.
|
inlinestaticnodiscardnoexcept |
Estimate how much buffer space is needed to represent value.
The estimate may be a little pessimistic, if it saves time.
The estimate includes the terminating zero.
|
inlinestaticnodiscard |
Return a string_view
representing value, plus terminating zero.
Produces a string_view
containing the PostgreSQL string representation for value
.
Uses the space from begin
to end
as a buffer, if needed. The returned string may lie somewhere in that buffer, or it may be a compile-time constant, or it may be null if value was a null value. Even if the string is stored in the buffer, its begin()
may or may not be the same as begin
.
The string_view
is guaranteed to be valid as long as the buffer from begin
to end
remains accessible and unmodified.
pqxx::conversion_overrun | if the provided buffer space may not be enough. For maximum performance, this is a conservative estimate. It may complain about a buffer which is actually large enough for your value, if an exact check gets too expensive. |
|
staticconstexpr |
Is conversion from string_view
to TYPE
supported?
When defining your own conversions, specialise this as true
to indicate that your string traits support from_string
.
|
staticconstexpr |
Is conversion from TYPE
to strings supported?
When defining your own conversions, specialise this as true
to indicate that your string traits support the conversions to strings.