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

Detailed Description

storages::postgres::BitString I/O support

Definition in file bitstring.hpp.

Go to the source code of this file.

#include <bitset>
#include <vector>
#include <userver/storages/postgres/exceptions.hpp>
#include <userver/storages/postgres/io/buffer_io.hpp>
#include <userver/storages/postgres/io/buffer_io_base.hpp>
#include <userver/storages/postgres/io/type_mapping.hpp>
#include <userver/utils/flags.hpp>

Classes

struct  storages::postgres::io::traits::IsBitStringCompatible< BitContainer >
 
struct  storages::postgres::io::traits::IsBitStringCompatible<::utils::Flags< Enum > >
 
struct  storages::postgres::io::traits::IsBitStringCompatible< std::bitset< N > >
 
struct  storages::postgres::io::traits::IsBitStringCompatible< std::array< bool, N > >
 
struct  storages::postgres::io::traits::BitContainerTraits< BitContainer, std::enable_if_t< std::is_integral_v< BitContainer > > >
 
struct  storages::postgres::io::traits::BitContainerTraits< std::array< bool, N > >
 
struct  storages::postgres::io::traits::BitContainerTraits< std::bitset< N > >
 
struct  storages::postgres::BitStringWrapper< BitContainer, BitStringType >
 
struct  storages::postgres::io::BufferParser< postgres::BitStringWrapper< BitContainer, kBitStringType > >
 
struct  storages::postgres::io::BufferParser< std::bitset< N > >
 
struct  storages::postgres::io::BufferFormatter< postgres::BitStringWrapper< BitContainer, kBitStringType > >
 
struct  storages::postgres::io::BufferFormatter< std::bitset< N > >
 
struct  storages::postgres::io::CppToSystemPg< postgres::BitStringWrapper< BitContainer, postgres::BitStringType::kBitVarying > >
 
struct  storages::postgres::io::CppToSystemPg< postgres::BitStringWrapper< BitContainer, postgres::BitStringType::kBit > >
 
struct  storages::postgres::io::CppToSystemPg< std::bitset< N > >
 

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.
 

Enumerations

enum class  BitStringType {
  kBit ,
  kBitVarying
}
 

Functions

template<BitStringType kBitStringType, typename BitContainer >
constexpr detail::BitStringRefWrapper< const BitContainer &, detail::BitContainerInterface::kCommon, kBitStringType > storages::postgres::BitString (const BitContainer &bits)
 
template<BitStringType kBitStringType, typename BitContainer >
constexpr detail::BitStringRefWrapper< BitContainer &, detail::BitContainerInterface::kCommon, kBitStringType > storages::postgres::BitString (BitContainer &bits)
 
template<BitStringType kBitStringType, typename Enum >
constexpr detail::BitStringRefWrapper< const ::utils::Flags< Enum > &, detail::BitContainerInterface::kFlags, kBitStringType > storages::postgres::BitString (const ::utils::Flags< Enum > &bits)
 
template<BitStringType kBitStringType, typename Enum >
constexpr detail::BitStringRefWrapper<::utils::Flags< Enum > &, detail::BitContainerInterface::kFlags, kBitStringType > storages::postgres::BitString (::utils::Flags< Enum > &bits)
 
template<typename BitContainer >
constexpr auto storages::postgres::Varbit (BitContainer &&bits)
 
template<typename BitContainer >
constexpr auto storages::postgres::Bit (BitContainer &&bits)
 

Variables

template<typename T >
constexpr bool storages::postgres::io::traits::kIsBitStringCompatible = IsBitStringCompatible<T>::value