# Poco::Data

# class AbstractBinder

Library: Data
Package: DataCore
Header: Poco/Data/AbstractBinder.h

## Description

Interface for Binding data types to placeholders.

## Inheritance

Known Derived Classes: Poco::Data::MySQL::Binder, Poco::Data::ODBC::Binder, Poco::Data::SQLite::Binder

## Member Summary

Member Functions: bind, isInBound, isOutBound, reset, reverseTranscode, toString, transcode, transcodeRequired

## Types Aliases

### Ptr

using Ptr = SharedPtr < AbstractBinder >;

## Enumerations

### Direction

Binding direction for a parameter.

PD_IN

PD_OUT

PD_IN_OUT

## Constructors

### AbstractBinder

AbstractBinder(
Poco::TextEncoding::Ptr pFromEncoding = nullptr,
Poco::TextEncoding::Ptr pDBEncoding = nullptr
);

Creates the AbstractBinder.

## Destructor

### ~AbstractBinder

virtual ~AbstractBinder();

Destroys the AbstractBinder.

## Member Functions

### bind

virtual void bind(
std::size_t pos,
const Poco::Int8 & val,
Direction dir = PD_IN
) = 0;

Binds an Int8.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::Int8 > & val,
Direction dir = PD_IN
);

Binds an Int8 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::Int8 > & val,
Direction dir = PD_IN
);

Binds an Int8 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::Int8 > & val,
Direction dir = PD_IN
);

Binds an Int8 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::UInt8 & val,
Direction dir = PD_IN
) = 0;

Binds an UInt8.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::UInt8 > & val,
Direction dir = PD_IN
);

Binds an UInt8 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::UInt8 > & val,
Direction dir = PD_IN
);

Binds an UInt8 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::UInt8 > & val,
Direction dir = PD_IN
);

Binds an UInt8 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::Int16 & val,
Direction dir = PD_IN
) = 0;

Binds an Int16.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::Int16 > & val,
Direction dir = PD_IN
);

Binds an Int16 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::Int16 > & val,
Direction dir = PD_IN
);

Binds an Int16 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::Int16 > & val,
Direction dir = PD_IN
);

Binds an Int16 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::UInt16 & val,
Direction dir = PD_IN
) = 0;

Binds an UInt16.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::UInt16 > & val,
Direction dir = PD_IN
);

Binds an UInt16 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::UInt16 > & val,
Direction dir = PD_IN
);

Binds an UInt16 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::UInt16 > & val,
Direction dir = PD_IN
);

Binds an UInt16 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::Int32 & val,
Direction dir = PD_IN
) = 0;

Binds an Int32.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::Int32 > & val,
Direction dir = PD_IN
);

Binds an Int32 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::Int32 > & val,
Direction dir = PD_IN
);

Binds an Int32 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::Int32 > & val,
Direction dir = PD_IN
);

Binds an Int32 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::UInt32 & val,
Direction dir = PD_IN
) = 0;

Binds an UInt32.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::UInt32 > & val,
Direction dir = PD_IN
);

Binds an UInt32 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::UInt32 > & val,
Direction dir = PD_IN
);

Binds an UInt32 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::UInt32 > & val,
Direction dir = PD_IN
);

Binds an UInt32 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::Int64 & val,
Direction dir = PD_IN
) = 0;

Binds an Int64.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::Int64 > & val,
Direction dir = PD_IN
);

Binds an Int64 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::Int64 > & val,
Direction dir = PD_IN
);

Binds an Int64 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::Int64 > & val,
Direction dir = PD_IN
);

Binds an Int64 list.

### bind

virtual void bind(
std::size_t pos,
const Poco::UInt64 & val,
Direction dir = PD_IN
) = 0;

Binds an UInt64.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Poco::UInt64 > & val,
Direction dir = PD_IN
);

Binds an UInt64 vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Poco::UInt64 > & val,
Direction dir = PD_IN
);

Binds an UInt64 deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Poco::UInt64 > & val,
Direction dir = PD_IN
);

Binds an UInt64 list.

### bind

virtual void bind(
std::size_t pos,
const bool & val,
Direction dir = PD_IN
) = 0;

Binds a boolean.

### bind

virtual void bind(
std::size_t pos,
const std::vector < bool > & val,
Direction dir = PD_IN
);

Binds a boolean vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < bool > & val,
Direction dir = PD_IN
);

Binds a boolean deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < bool > & val,
Direction dir = PD_IN
);

Binds a boolean list.

### bind

virtual void bind(
std::size_t pos,
const float & val,
Direction dir = PD_IN
) = 0;

Binds a float.

### bind

virtual void bind(
std::size_t pos,
const std::vector < float > & val,
Direction dir = PD_IN
);

Binds a float vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < float > & val,
Direction dir = PD_IN
);

Binds a float deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < float > & val,
Direction dir = PD_IN
);

Binds a float list.

### bind

virtual void bind(
std::size_t pos,
const double & val,
Direction dir = PD_IN
) = 0;

Binds a double.

### bind

virtual void bind(
std::size_t pos,
const std::vector < double > & val,
Direction dir = PD_IN
);

Binds a double vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < double > & val,
Direction dir = PD_IN
);

Binds a double deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < double > & val,
Direction dir = PD_IN
);

Binds a double list.

### bind

virtual void bind(
std::size_t pos,
const char & val,
Direction dir = PD_IN
) = 0;

Binds a single character.

### bind

virtual void bind(
std::size_t pos,
const std::vector < char > & val,
Direction dir = PD_IN
);

Binds a character vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < char > & val,
Direction dir = PD_IN
);

Binds a character deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < char > & val,
Direction dir = PD_IN
);

Binds a character list.

### bind

virtual void bind(
std::size_t pos,
const char * const & pVal,
Direction dir = PD_IN
) = 0;

Binds a const char ptr.

### bind

virtual void bind(
std::size_t pos,
const std::string & val,
Direction dir = PD_IN
) = 0;

Binds a string.

### bind

virtual void bind(
std::size_t pos,
const std::vector < std::string > & val,
Direction dir = PD_IN
);

Binds a string vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < std::string > & val,
Direction dir = PD_IN
);

Binds a string deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < std::string > & val,
Direction dir = PD_IN
);

Binds a string list.

### bind

virtual void bind(
std::size_t pos,
const UTF16String & val,
Direction dir = PD_IN
);

Binds a UTF-16 Unicode string.

### bind

virtual void bind(
std::size_t pos,
const std::vector < UTF16String > & val,
Direction dir = PD_IN
);

Binds a UTF-16 Unicode string vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < UTF16String > & val,
Direction dir = PD_IN
);

Binds a UTF-16 Unicode string deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < UTF16String > & val,
Direction dir = PD_IN
);

Binds a UTF-16 Unicode string list.

### bind

virtual void bind(
std::size_t pos,
const BLOB & val,
Direction dir = PD_IN
) = 0;

Binds a BLOB.

### bind

virtual void bind(
std::size_t pos,
const CLOB & val,
Direction dir = PD_IN
) = 0;

Binds a CLOB.

### bind

virtual void bind(
std::size_t pos,
const std::vector < BLOB > & val,
Direction dir = PD_IN
);

Binds a BLOB vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < BLOB > & val,
Direction dir = PD_IN
);

Binds a BLOB deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < BLOB > & val,
Direction dir = PD_IN
);

Binds a BLOB list.

### bind

virtual void bind(
std::size_t pos,
const std::vector < CLOB > & val,
Direction dir = PD_IN
);

Binds a CLOB vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < CLOB > & val,
Direction dir = PD_IN
);

Binds a CLOB deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < CLOB > & val,
Direction dir = PD_IN
);

Binds a CLOB list.

### bind

virtual void bind(
std::size_t pos,
const DateTime & val,
Direction dir = PD_IN
) = 0;

Binds a DateTime.

### bind

virtual void bind(
std::size_t pos,
const std::vector < DateTime > & val,
Direction dir = PD_IN
);

Binds a DateTime vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < DateTime > & val,
Direction dir = PD_IN
);

Binds a DateTime deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < DateTime > & val,
Direction dir = PD_IN
);

Binds a DateTime list.

### bind

virtual void bind(
std::size_t pos,
const Date & val,
Direction dir = PD_IN
) = 0;

Binds a Date.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Date > & val,
Direction dir = PD_IN
);

Binds a Date vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Date > & val,
Direction dir = PD_IN
);

Binds a Date deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Date > & val,
Direction dir = PD_IN
);

Binds a Date list.

### bind

virtual void bind(
std::size_t pos,
const Time & val,
Direction dir = PD_IN
) = 0;

Binds a Time.

### bind

virtual void bind(
std::size_t pos,
const std::vector < Time > & val,
Direction dir = PD_IN
);

Binds a Time vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < Time > & val,
Direction dir = PD_IN
);

Binds a Time deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < Time > & val,
Direction dir = PD_IN
);

Binds a Time list.

### bind

virtual void bind(
std::size_t pos,
const UUID & val,
Direction dir = PD_IN
) = 0;

Binds a UUID.

### bind

virtual void bind(
std::size_t pos,
const std::vector < UUID > & val,
Direction dir = PD_IN
);

Binds a UUID vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < UUID > & val,
Direction dir = PD_IN
);

Binds a UUID deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < UUID > & val,
Direction dir = PD_IN
);

Binds a UUID list.

### bind

virtual void bind(
std::size_t pos,
const NullData & val,
Direction dir = PD_IN
) = 0;

Binds a null.

### bind

virtual void bind(
std::size_t pos,
const std::vector < NullData > & val,
Direction dir = PD_IN
);

Binds a null vector.

### bind

virtual void bind(
std::size_t pos,
const std::deque < NullData > & val,
Direction dir = PD_IN
);

Binds a null deque.

### bind

virtual void bind(
std::size_t pos,
const std::list < NullData > & val,
Direction dir = PD_IN
);

Binds a null list.

### bind

void bind(
std::size_t pos,
const Any & val,
Direction dir = PD_IN
);

Binds an Any.

### bind

void bind(
std::size_t pos,
const Poco::Dynamic::Var & val,
Direction dir = PD_IN
);

Binds a Var.

### isInBound

static bool isInBound(
Direction dir
);

Returns true if direction is in bound;

### isOutBound

static bool isOutBound(
Direction dir
);

Returns true if direction is out bound;

### reset

virtual void reset();

Resets a binder. No-op by default. Implement for binders that cache data.

### reverseTranscode

void reverseTranscode(
const std::string & from,
std::string & to
);

### toString

const std::string & toString(
const UUID & uuid
);

### transcode

void transcode(
const std::string & from,
std::string & to
);

### transcodeRequired

bool transcodeRequired() const;