libpqxx
The C++ client library for PostgreSQL
array-composite.hxx File Reference
#include <cassert>
#include "pqxx/util.hxx"
#include "pqxx/internal/encodings.hxx"
#include "pqxx/strconv.hxx"
+ Include dependency graph for array-composite.hxx:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 pqxx
 The home of all libpqxx classes, functions, templates, etc.
 
 pqxx::internal
 Private namespace for libpqxx's internal use; do not access.
 

Typedefs

template<typename T >
using pqxx::internal::composite_field_parser = void(*)(std::size_t &index, std::string_view input, std::size_t &pos, T &field, std::size_t last_field, sl loc)
 Pointer to an encoding-specific specialisation of parse_composite_field. More...
 

Functions

template<encoding_group ENC>
constexpr PQXX_INLINE_COV std::size_t pqxx::internal::scan_double_quoted_string (std::string_view input, std::size_t pos, sl loc)
 
template<encoding_group ENC>
constexpr PQXX_INLINE_COV std::string pqxx::internal::parse_double_quoted_string (std::string_view input, std::size_t pos, sl loc)
 Un-quote and un-escape a double-quoted SQL string. More...
 
template<encoding_group ENC, char... STOP>
constexpr PQXX_INLINE_COV std::size_t pqxx::internal::scan_unquoted_string (std::string_view input, std::size_t pos, sl loc)
 Find the end of an unquoted string in an array or composite-type value. More...
 
template<encoding_group ENC>
constexpr PQXX_INLINE_ONLY std::string_view pqxx::internal::parse_unquoted_string (std::string_view input, std::size_t pos, sl)
 Parse an unquoted array entry or cfield of a composite-type field. More...
 
template<encoding_group ENC, typename T >
PQXX_INLINE_COV 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, sl loc)
 Parse a field of a composite-type value. More...
 
template<typename T >
constexpr PQXX_INLINE_COV composite_field_parser< T > pqxx::internal::specialize_parse_composite_field (conversion_context const &c)
 Look up implementation of parse_composite_field for ENC. More...
 
template<typename T >
PQXX_INLINE_COV std::size_t pqxx::internal::size_composite_field_buffer (T const &field)
 Conservatively estimate buffer size needed for a composite field. More...
 
template<typename T >
PQXX_INLINE_ONLY void pqxx::internal::write_composite_field (std::span< char > buf, std::size_t &pos, T const &field, ctx c)
 
template<nonbinary_range TYPE>
PQXX_INLINE_COV std::size_t pqxx::internal::array_into_buf (std::span< char > buf, TYPE const &value, std::size_t budget, ctx c)
 Write an SQL array representation into buf. More...
 

Variables

constexpr std::size_t pqxx::internal::one_ascii_char {1u}