userver: userver/storages/postgres/io/array_types.hpp File Reference
Loading...
Searching...
No Matches
array_types.hpp File Reference

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