libpqxx
7.9.0
|
Traits class for use in string conversions. More...
#include <strconv.hxx>
Static Public Member Functions | |
static zview | to_buf (char *begin, char *end, TYPE const &value) |
Return a string_view representing value, plus terminating zero. More... | |
static char * | into_buf (char *begin, char *end, TYPE const &value) |
Write value's string representation into buffer at begin . More... | |
static TYPE | from_string (std::string_view text) |
Parse a string representation of a TYPE value. More... | |
static std::size_t | size_buffer (TYPE const &value) noexcept |
Estimate how much buffer space is needed to represent value. More... | |
Static Public Attributes | |
static constexpr bool | converts_to_string {false} |
Is conversion from TYPE to strings supported? More... | |
static constexpr bool | converts_from_string {false} |
Is conversion from string_view to TYPE supported? More... | |
Traits class for use in string conversions.
Specialize this template for a type for which you wish to add to_string and from_string support.
String conversions are not meant to work for nulls. Check for null before converting a value of TYPE
to a string, or vice versa.
|
static |
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.
References pqxx::text.
Referenced by pqxx::internal::enum_traits< ENUM >::from_string(), and pqxx::from_string().
|
static |
Write value's string representation into buffer at begin
.
Referenced by pqxx::internal::enum_traits< ENUM >::into_buf(), and pqxx::placeholders< COUNTER >::next().
|
staticnoexcept |
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.
Referenced by pqxx::string_traits< binarystring >::into_buf(), and pqxx::internal::enum_traits< ENUM >::size_buffer().
|
static |
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. |
Referenced by pqxx::internal::enum_traits< ENUM >::to_buf().
|
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.