libpqxx
The C++ client library for PostgreSQL
Loading...
Searching...
No Matches
array-composite.hxx File Reference
#include <cassert>
#include "pqxx/internal/encodings.hxx"
#include "pqxx/strconv.hxx"

Go to the source code of this file.

Namespaces

namespace  pqxx
 The home of all libpqxx classes, functions, templates, etc.
namespace  pqxx::internal
 Internal items for libpqxx' own use. Do not use these yourself.

Typedefs

template<typename T>
using pqxx::internal::composite_field_parser
 Pointer to an encoding-specific specialisation of parse_composite_field.

Functions

template<encoding_group ENC>
std::size_t pqxx::internal::scan_double_quoted_string (char const input[], std::size_t size, std::size_t pos)
template<encoding_group ENC>
std::string pqxx::internal::parse_double_quoted_string (char const input[], std::size_t end, std::size_t pos)
 Un-quote and un-escape a double-quoted SQL string.
template<pqxx::internal::encoding_group ENC, char... STOP>
std::size_t pqxx::internal::scan_unquoted_string (char const input[], std::size_t size, std::size_t pos)
 Find the end of an unquoted string in an array or composite-type value.
template<pqxx::internal::encoding_group ENC>
std::string_view pqxx::internal::parse_unquoted_string (char const input[], std::size_t end, std::size_t pos)
 Parse an unquoted array entry or cfield of a composite-type field.
template<encoding_group ENC, typename T>
void pqxx::internal::parse_composite_field (std::size_t &index, std::string_view input, std::size_t &pos, T &field, std::size_t last_field)
 Parse a field of a composite-type value.
template<typename T>
composite_field_parser< T > pqxx::internal::specialize_parse_composite_field (encoding_group enc)
 Look up implementation of parse_composite_field for ENC.
template<typename T>
std::size_t pqxx::internal::size_composite_field_buffer (T const &field)
 Conservatively estimate buffer size needed for a composite field.
template<typename T>
void pqxx::internal::write_composite_field (char *&pos, char *end, T const &field)