userver: userver/storages/postgres/io/array_types.hpp File Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts

Detailed Description

I/O support for arrays (std::array, std::set, std::unordered_set, std::vector)

Definition in file array_types.hpp.

Go to the source code of this file.

#include <array>
#include <iterator>
#include <set>
#include <unordered_set>
#include <vector>
#include <boost/pfr/core.hpp>
#include <userver/utils/impl/projecting_view.hpp>
#include <userver/storages/postgres/exceptions.hpp>
#include <userver/storages/postgres/io/buffer_io_base.hpp>
#include <userver/storages/postgres/io/field_buffer.hpp>
#include <userver/storages/postgres/io/row_types.hpp>
#include <userver/storages/postgres/io/traits.hpp>
#include <userver/storages/postgres/io/type_mapping.hpp>
#include <userver/storages/postgres/io/type_traits.hpp>
#include <userver/storages/postgres/io/user_types.hpp>
+ Include dependency graph for array_types.hpp:
+ This graph shows which files directly or indirectly include this file:

Classes

struct  storages::postgres::io::traits::HasFixedDimensions< T >
 
struct  storages::postgres::io::traits::DimensionSize< T >
 
struct  storages::postgres::io::traits::DimensionSize< std::array< T, N > >
 
struct  storages::postgres::io::traits::FixedDimensions< T >
 
struct  storages::postgres::io::traits::IsCompatibleContainer< std::vector< T... > >
 
struct  storages::postgres::io::traits::IsCompatibleContainer< std::array< T, Size > >
 
struct  storages::postgres::io::traits::IsCompatibleContainer< std::set< T... > >
 
struct  storages::postgres::io::traits::IsCompatibleContainer< std::unordered_set< T... > >
 

Namespaces

namespace  storages
 Components, clients and helpers for different databases and storages.
 
namespace  storages::postgres
 Top namespace for uPg driver.
 
namespace  storages::postgres::io
 uPg input-output.
 
namespace  storages::postgres::io::traits
 uPg input-output traits.
 

Functions

template<typename T , T... Values>
constexpr std::array< T, sizeof...(Values)> storages::postgres::io::traits::MakeArray (const std::integer_sequence< T, Values... > &)
 
template<typename T >
constexpr bool storages::postgres::io::IsTypeMappedToSystemArray ()
 
template<typename Container >
detail::ContainerSplitter< Container > storages::postgres::io::SplitContainer (const Container &container, std::size_t chunk_elements)
 
template<typename Container >
detail::ContainerByColumnsSplitter< Container > storages::postgres::io::SplitContainerByColumns (const Container &container, std::size_t chunk_elements)
 

Variables

template<typename Container >
constexpr bool storages::postgres::io::traits::kHasFixedDimensions
 
template<typename T >
constexpr std::size_t storages::postgres::io::traits::kDimensionSize = DimensionSize<T>::value