OZO 「お象」
Boost.Asio and libpq based asynchronous PostgreSQL unofficial header-only C++17 client library.
ozo::connection_provider< ConnectionSource > Class Template Reference

#include <ozo/connector.h>

Description

template<typename ConnectionSource>
class ozo::connection_provider< ConnectionSource >

Default model for the ConnectionProvider concept.

This is the default implementation of the ConnectionProvider concept. It binds io_context to a ConnectionSource implementation object.

Thus connection_provider can create connection via ConnectionSource object running its asynchronous connect operation on the io_context with additional parameters. As a result, connection_provider provides a Connection object bound to io_context via ozo::get_connection() function.

Template Parameters
SourceConnectionSource implementation
Models
ConnectionProvider

Types

using source_type = std::decay_t< ConnectionSource >
 
using connection_type = typename connection_source_traits< source_type >::connection_type
 

Public Member Functions

 connection_provider (ConnectionSource &&source, io_context &io)
 

Types

◆ connection_type

template<typename ConnectionSource >
using ozo::connection_provider< ConnectionSource >::connection_type = typename connection_source_traits<source_type>::connection_type

Connection implementation type according to ConnectionProvider requirements. Specifies the Connection implementation type which can be obtained from this provider.

◆ source_type

template<typename ConnectionSource >
using ozo::connection_provider< ConnectionSource >::source_type = std::decay_t<ConnectionSource>

Source type according to ConnectionProvider requirements

Constructors

◆ connection_provider()

template<typename ConnectionSource >
ozo::connection_provider< ConnectionSource >::connection_provider ( ConnectionSource &&  source,
io_context &  io 
)

Construct a new connection_provider object

Parameters
sourceConnectionSource implementation
ioio_context for asynchronous IO