libpqxx
The C++ client library for PostgreSQL
types.hxx File Reference
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <string>
#include <string_view>
#include <type_traits>
#include <typeinfo>
#include <utility>

Go to the source code of this file.

Classes

struct  pqxx::from_table_t
 Marker for stream_from constructors: "stream from table.". More...
 
struct  pqxx::from_query_t
 Marker for stream_from constructors: "stream from query.". More...
 

Namespaces

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

Macros

#define PQXX_RANGE_ARG   typename
 Template argument type for a range. More...
 
#define PQXX_CHAR_STRING_ARG   typename
 Template argument type for char_string. More...
 
#define PQXX_CHAR_STRINGS_ARG   typename
 Template argument type for char_strings. More...
 

Typedefs

using pqxx::result_size_type = int
 Number of rows in a result set. More...
 
using pqxx::result_difference_type = int
 Difference between result sizes. More...
 
using pqxx::row_size_type = int
 Number of fields in a row of database data. More...
 
using pqxx::row_difference_type = int
 Difference between row sizes. More...
 
using pqxx::field_size_type = std::size_t
 Number of bytes in a field of database data. More...
 
using pqxx::large_object_size_type = int64_t
 Number of bytes in a large object. More...
 
template<typename TYPE >
using pqxx::strip_t = std::remove_cv_t< std::remove_reference_t< TYPE >>
 Remove any constness, volatile, and reference-ness from a type. More...
 
template<typename CONTAINER >
using pqxx::value_type = strip_t< decltype(*std::begin(std::declval< CONTAINER >()))>
 The type of a container's elements. More...
 

Enumerations

enum  pqxx::format : int { pqxx::format::text = 0, pqxx::format::binary = 1 }
 Format code: is data text or binary? More...
 

Functions

std::string pqxx::internal::demangle_type_name (char const [])
 Attempt to demangle std::type_info::name() to something human-readable. More...
 
template<typename TYPE >
constexpr std::string_view pqxx::name_type () noexcept
 Return human-readable name for TYPE. More...
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< std::string > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< std::string_view > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< char const * > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< bool > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< short > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< int > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< long > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< long long > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< unsigned short > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< unsigned > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< unsigned long > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< unsigned long long > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< float > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< double > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< long double > () noexcept
 
template<>
PQXX_PURE constexpr std::string_view pqxx::name_type< std::nullptr_t > () noexcept
 

Variables

template<typename TYPE >
std::string const pqxx::type_name {internal::demangle_type_name(typeid(TYPE).name())}
 A human-readable name for a type, used in error messages and such. More...
 

Class Documentation

struct pqxx::from_table_t

Marker for stream_from constructors: "stream from table.".

Deprecated:
Use stream_from::table() instead.
struct pqxx::from_query_t

Marker for stream_from constructors: "stream from query.".

Deprecated:
Use stream_from::query() instead.

Macro Definition Documentation

#define PQXX_CHAR_STRING_ARG   typename

Template argument type for char_string.

This is a concept, so only available in C++20 or better. In pre-C++20 environments it's just an alias for typename.

#define PQXX_CHAR_STRINGS_ARG   typename

Template argument type for char_strings.

This is a concept, so only available in C++20 or better. In pre-C++20 environments it's just an alias for typename.

#define PQXX_RANGE_ARG   typename

Template argument type for a range.

This is a concept, so only available in C++20 or better. In pre-C++20 environments it's just an alias for typename.