libpqxx
7.0.1
|
Namespaces | |
gate | |
pqxx | |
Classes | |
class | basic_robusttransaction |
Helper base class for the robusttransaction class template. More... | |
class | basic_transaction |
Helper base class for the transaction class template. More... | |
class | namedclass |
Helper base class: object descriptions for error messages and such. More... | |
class | transactionfocus |
struct | TypedCopyEscaper |
class | unique |
Ensure proper opening/closing of GUEST objects related to a "host" object. More... | |
Functions | |
void | clear_result (pq::PGresult const *) |
C++ wrapper for libpq's PQclear. More... | |
std::string | demangle_type_name (char const []) |
Attempt to demangle std::type_info::name() to something human-readable. More... | |
std::string | copy_string_escape (std::string_view) |
void | check_unique_registration (namedclass const *new_ptr, namedclass const *old_ptr) |
void | check_unique_unregistration (namedclass const *new_ptr, namedclass const *old_ptr) |
int | PQXX_VERSION_CHECK () noexcept |
Library version check stub. More... | |
char const * | name_encoding (int encoding_id) |
encoding_group | enc_group (int libpq_enc_id) |
encoding_group | enc_group (std::string_view encoding_name) |
template<template< encoding_group > class T, typename F > | |
constexpr F * | for_encoding (encoding_group enc) |
Look up instantiation T<enc>::call at runtime. More... | |
glyph_scanner_func * | get_glyph_scanner (encoding_group enc) |
std::string::size_type | find_with_encoding (encoding_group enc, std::string_view haystack, char needle, std::string::size_type start) |
std::string::size_type | find_with_encoding (encoding_group enc, std::string_view haystack, std::string_view needle, std::string::size_type start) |
void pqxx::internal::check_unique_registration | ( | namedclass const * | new_ptr, |
namedclass const * | old_ptr | ||
) |
void pqxx::internal::check_unique_unregistration | ( | namedclass const * | new_ptr, |
namedclass const * | old_ptr | ||
) |
void pqxx::internal::clear_result | ( | pq::PGresult const * | data | ) |
C++ wrapper for libpq's PQclear.
std::string pqxx::internal::copy_string_escape | ( | std::string_view | s | ) |
Referenced by pqxx::internal::TypedCopyEscaper::operator()().
std::string pqxx::internal::demangle_type_name | ( | char const | [] | ) |
Attempt to demangle std::type_info::name()
to something human-readable.
encoding_group pqxx::internal::enc_group | ( | int | libpq_enc_id | ) |
References name_encoding().
Referenced by pqxx::pqxx::internal::pqxx::connection::esc_like().
encoding_group pqxx::internal::enc_group | ( | std::string_view | encoding_name | ) |
std::string::size_type pqxx::internal::find_with_encoding | ( | encoding_group | enc, |
std::string_view | haystack, | ||
char | needle, | ||
std::string::size_type | start | ||
) |
std::string::size_type pqxx::internal::find_with_encoding | ( | encoding_group | enc, |
std::string_view | haystack, | ||
std::string_view | needle, | ||
std::string::size_type | start | ||
) |
constexpr F* pqxx::internal::for_encoding | ( | encoding_group | enc | ) |
Look up instantiation T<enc>::call
at runtime.
Here, "T" is a struct template with a static member function "call", whose type is "F".
The return value is a pointer to the "call" member function for the instantiation of T for encoding group enc.
References pqxx::to_string().
glyph_scanner_func* pqxx::internal::get_glyph_scanner | ( | encoding_group | enc | ) |
char const* pqxx::internal::name_encoding | ( | int | encoding_id | ) |
Referenced by enc_group(), and pqxx::pqxx::internal::pqxx::connection::get_client_encoding().
|
noexcept |
Library version check stub.
Helps detect version mismatches between libpqxx headers and the libpqxx library binary.
Sometimes users run into trouble linking their code against libpqxx because they build their own libpqxx, but the system also has a different version installed. The declarations in the headers against which they compile their code will differ from the ones used to build the libpqxx version they're using, leading to confusing link errors. The solution is to generate a link error when the libpqxx binary is not the same version as the libpqxx headers used to compile the code.
This function's definition is in the libpqxx binary, so it's based on the version as found in the binary. The headers contain a call to the function, whose name contains the libpqxx version as found in the headers. (The library build process will use its own local headers even if another version of the headers is installed on the system.)
If the libpqxx binary was compiled for a different version than the user's code, linking will fail with an error: check_library_version
will not exist for the given version number.
Referenced by pqxx::check_version().