libpqxx
The C++ client library for PostgreSQL
|
Helper class for defining enum conversions. More...
Public Types | |
using | impl_type = std::underlying_type_t<ENUM> |
using | impl_traits = string_traits<impl_type> |
Static Public Member Functions | |
static constexpr zview | to_buf (char *begin, char *end, ENUM const &value) |
static constexpr char * | into_buf (char *begin, char *end, ENUM const &value) |
static ENUM | from_string (std::string_view text) |
static std::size_t | size_buffer (ENUM const &value) noexcept |
Static Public Attributes | |
static constexpr bool | converts_to_string {true} |
static constexpr bool | converts_from_string {true} |
Helper class for defining enum conversions.
The conversion will convert enum values to numeric strings, and vice versa.
To define a string conversion for an enum type, derive a string_traits
specialisation for the enum from this struct.
There's usually an easier way though: the PQXX_DECLARE_ENUM_CONVERSION
macro. Use enum_traits
manually only if you need to customise your traits type in more detail.