mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-30 13:47:10 +01:00
[SF 2272430] BLOB and CLOB
Renamed: (Abstract)Preparation => (Abstract)Preparator (Abstract)Prepare => (Abstract)Preparation
This commit is contained in:
@@ -43,7 +43,7 @@
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/Date.h"
|
||||
#include "Poco/Data/Time.h"
|
||||
#include "Poco/Data/BLOB.h"
|
||||
#include "Poco/Data/LOB.h"
|
||||
#include "Poco/DateTime.h"
|
||||
#include "Poco/Any.h"
|
||||
#include "Poco/Dynamic/Var.h"
|
||||
@@ -266,6 +266,9 @@ public:
|
||||
virtual void bind(std::size_t pos, const BLOB& val, Direction dir = PD_IN) = 0;
|
||||
/// Binds a BLOB.
|
||||
|
||||
virtual void bind(std::size_t pos, const CLOB& val, Direction dir = PD_IN) = 0;
|
||||
/// Binds a CLOB.
|
||||
|
||||
virtual void bind(std::size_t pos, const std::vector<BLOB>& val, Direction dir = PD_IN);
|
||||
/// Binds a BLOB vector.
|
||||
|
||||
@@ -275,6 +278,15 @@ public:
|
||||
virtual void bind(std::size_t pos, const std::list<BLOB>& val, Direction dir = PD_IN);
|
||||
/// Binds a BLOB list.
|
||||
|
||||
virtual void bind(std::size_t pos, const std::vector<CLOB>& val, Direction dir = PD_IN);
|
||||
/// Binds a CLOB vector.
|
||||
|
||||
virtual void bind(std::size_t pos, const std::deque<CLOB>& val, Direction dir = PD_IN);
|
||||
/// Binds a CLOB deque.
|
||||
|
||||
virtual void bind(std::size_t pos, const std::list<CLOB>& val, Direction dir = PD_IN);
|
||||
/// Binds a CLOB list.
|
||||
|
||||
virtual void bind(std::size_t pos, const DateTime& val, Direction dir = PD_IN) = 0;
|
||||
/// Binds a DateTime.
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ namespace Poco {
|
||||
namespace Data {
|
||||
|
||||
|
||||
class AbstractPrepare;
|
||||
class AbstractPreparation;
|
||||
class AbstractPreparator;
|
||||
|
||||
|
||||
class Data_API AbstractExtraction: public Poco::RefCountedObject
|
||||
@@ -109,8 +109,8 @@ public:
|
||||
virtual bool canExtract() const;
|
||||
/// Returns true. Implementations should override it for different behavior.
|
||||
|
||||
virtual AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos) = 0;
|
||||
/// Creates a Prepare object for the extracting object
|
||||
virtual AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos) = 0;
|
||||
/// Creates a Preparation object for the extracting object
|
||||
|
||||
void setLimit(Poco::UInt32 limit);
|
||||
/// Sets the limit.
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/Constants.h"
|
||||
#include "Poco/Data/LOB.h"
|
||||
#include <vector>
|
||||
#include <deque>
|
||||
#include <list>
|
||||
@@ -64,7 +65,6 @@ namespace Data {
|
||||
|
||||
class Date;
|
||||
class Time;
|
||||
class BLOB;
|
||||
|
||||
|
||||
class Data_API AbstractExtractor
|
||||
@@ -251,6 +251,9 @@ public:
|
||||
virtual bool extract(std::size_t pos, BLOB& val) = 0;
|
||||
/// Extracts a BLOB. Returns false if null was received.
|
||||
|
||||
virtual bool extract(std::size_t pos, CLOB& val) = 0;
|
||||
/// Extracts a CLOB. Returns false if null was received.
|
||||
|
||||
virtual bool extract(std::size_t pos, std::vector<BLOB>& val);
|
||||
/// Extracts a BLOB vector.
|
||||
|
||||
@@ -260,6 +263,15 @@ public:
|
||||
virtual bool extract(std::size_t pos, std::list<BLOB>& val);
|
||||
/// Extracts a BLOB list.
|
||||
|
||||
virtual bool extract(std::size_t pos, std::vector<CLOB>& val);
|
||||
/// Extracts a CLOB vector.
|
||||
|
||||
virtual bool extract(std::size_t pos, std::deque<CLOB>& val);
|
||||
/// Extracts a CLOB deque.
|
||||
|
||||
virtual bool extract(std::size_t pos, std::list<CLOB>& val);
|
||||
/// Extracts a CLOB list.
|
||||
|
||||
virtual bool extract(std::size_t pos, DateTime& val) = 0;
|
||||
/// Extracts a DateTime. Returns false if null was received.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// AbstractPreparation.h
|
||||
//
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/AbstractPreparation.h#5 $
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/AbstractPreparation.h#4 $
|
||||
//
|
||||
// Library: Data
|
||||
// Package: DataCore
|
||||
@@ -41,335 +41,43 @@
|
||||
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/RefCountedObject.h"
|
||||
#include <vector>
|
||||
#include <deque>
|
||||
#include <list>
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
|
||||
|
||||
class DateTime;
|
||||
class Any;
|
||||
|
||||
namespace Dynamic {
|
||||
class Var;
|
||||
}
|
||||
|
||||
|
||||
namespace Data {
|
||||
|
||||
|
||||
class Date;
|
||||
class Time;
|
||||
class BLOB;
|
||||
class AbstractPreparator;
|
||||
|
||||
|
||||
class Data_API AbstractPreparation: public Poco::RefCountedObject
|
||||
/// Interface used for database preparation where we first have to register all data types (and memory output locations)
|
||||
/// before extracting data, i.e. extract works as two-pase extract: first we call prepare once, then extract n-times.
|
||||
/// There are cases (bulk operations using std::vector storage) when extract is called only once.
|
||||
/// The value passed to a prepare() call is not be used by the prepare, serving only as an indication of the data type
|
||||
/// being prepared.
|
||||
/// Implementing this interface is not mandatory for a connector. Connectors that only extract data after SQL execution
|
||||
/// (e.g. SQLite) do not need this functionality at all.
|
||||
class Data_API AbstractPreparation
|
||||
/// Interface for calling the appropriate AbstractPreparator method
|
||||
{
|
||||
public:
|
||||
AbstractPreparation(Poco::UInt32 length = 1u);
|
||||
AbstractPreparation(AbstractPreparator* pPreparator);
|
||||
/// Creates the AbstractPreparation.
|
||||
|
||||
virtual ~AbstractPreparation();
|
||||
/// Destroys the AbstractPreparation.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int8&) = 0;
|
||||
/// Prepares an Int8.
|
||||
virtual void prepare() = 0;
|
||||
/// Preparations data.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int8>& val);
|
||||
/// Prepares an Int8 vector.
|
||||
protected:
|
||||
AbstractPreparator* preparation();
|
||||
/// Returns the preparation object
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int8>& val);
|
||||
/// Prepares an Int8 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int8>& val);
|
||||
/// Prepares an Int8 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt8&) = 0;
|
||||
/// Prepares an UInt8.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt8>& val);
|
||||
/// Prepares an UInt8 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt8>& val);
|
||||
/// Prepares an UInt8 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt8>& val);
|
||||
/// Prepares an UInt8 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int16&) = 0;
|
||||
/// Prepares an Int16.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int16>& val);
|
||||
/// Prepares an Int16 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int16>& val);
|
||||
/// Prepares an Int16 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int16>& val);
|
||||
/// Prepares an Int16 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt16&) = 0;
|
||||
/// Prepares an UInt16.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt16>& val);
|
||||
/// Prepares an UInt16 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt16>& val);
|
||||
/// Prepares an UInt16 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt16>& val);
|
||||
/// Prepares an UInt16 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int32&) = 0;
|
||||
/// Prepares an Int32.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int32>& val);
|
||||
/// Prepares an Int32 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int32>& val);
|
||||
/// Prepares an Int32 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int32>& val);
|
||||
/// Prepares an Int32 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt32&) = 0;
|
||||
/// Prepares an UInt32.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt32>& val);
|
||||
/// Prepares an UInt32 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt32>& val);
|
||||
/// Prepares an UInt32 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt32>& val);
|
||||
/// Prepares an UInt32 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int64&) = 0;
|
||||
/// Prepares an Int64.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int64>& val);
|
||||
/// Prepares an Int64 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int64>& val);
|
||||
/// Prepares an Int64 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int64>& val);
|
||||
/// Prepares an Int64 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt64&) = 0;
|
||||
/// Prepares an UInt64.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt64>& val);
|
||||
/// Prepares an UInt64 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt64>& val);
|
||||
/// Prepares an UInt64 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt64>& val);
|
||||
/// Prepares an UInt64 list.
|
||||
|
||||
#ifndef POCO_LONG_IS_64_BIT
|
||||
virtual void prepare(std::size_t pos, long&) = 0;
|
||||
/// Prepares a long.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<long>& val);
|
||||
/// Prepares a long vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<long>& val);
|
||||
/// Prepares a long deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<long>& val);
|
||||
/// Prepares a long list.
|
||||
#endif
|
||||
|
||||
virtual void prepare(std::size_t pos, bool&) = 0;
|
||||
/// Prepares a boolean.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<bool>& val);
|
||||
/// Prepares a boolean vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<bool>& val);
|
||||
/// Prepares a boolean deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<bool>& val);
|
||||
/// Prepares a boolean list.
|
||||
|
||||
virtual void prepare(std::size_t pos, float&) = 0;
|
||||
/// Prepares a float.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<float>& val);
|
||||
/// Prepares a float vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<float>& val);
|
||||
/// Prepares a float deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<float>& val);
|
||||
/// Prepares a float list.
|
||||
|
||||
virtual void prepare(std::size_t pos, double&) = 0;
|
||||
/// Prepares a double.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<double>& val);
|
||||
/// Prepares a double vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<double>& val);
|
||||
/// Prepares a double deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<double>& val);
|
||||
/// Prepares a double list.
|
||||
|
||||
virtual void prepare(std::size_t pos, char&) = 0;
|
||||
/// Prepares a single character.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<char>& val);
|
||||
/// Prepares a character vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<char>& val);
|
||||
/// Prepares a character deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<char>& val);
|
||||
/// Prepares a character list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::string&) = 0;
|
||||
/// Prepares a string.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<std::string>& val);
|
||||
/// Prepares a string vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<std::string>& val);
|
||||
/// Prepares a string deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<std::string>& val);
|
||||
/// Prepares a string list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const BLOB&) = 0;
|
||||
/// Prepares a BLOB.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<BLOB>& val);
|
||||
/// Prepares a BLOB vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<BLOB>& val);
|
||||
/// Prepares a BLOB deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<BLOB>& val);
|
||||
/// Prepares a BLOB list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const DateTime&) = 0;
|
||||
/// Prepares a DateTime.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<DateTime>& val);
|
||||
/// Prepares a DateTime vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<DateTime>& val);
|
||||
/// Prepares a DateTime deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<DateTime>& val);
|
||||
/// Prepares a DateTime list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Date&) = 0;
|
||||
/// Prepares a Date.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Date>& val);
|
||||
/// Prepares a Date vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Date>& val);
|
||||
/// Prepares a Date deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Date>& val);
|
||||
/// Prepares a Date list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Time&) = 0;
|
||||
/// Prepares a Time.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Time>& val);
|
||||
/// Prepares a Time vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Time>& val);
|
||||
/// Prepares a Time deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Time>& val);
|
||||
/// Prepares a Time list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Any&) = 0;
|
||||
/// Prepares an Any.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Any>& val);
|
||||
/// Prepares an Any vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Any>& val);
|
||||
/// Prepares an Any deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Any>& val);
|
||||
/// Prepares an Any list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Poco::Dynamic::Var&) = 0;
|
||||
/// Prepares a Var.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Poco::Dynamic::Var>& val);
|
||||
/// Prepares a Var vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Poco::Dynamic::Var>& val);
|
||||
/// Prepares a Var deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Poco::Dynamic::Var>& val);
|
||||
/// Prepares a Var list.
|
||||
|
||||
void setLength(Poco::UInt32 length);
|
||||
/// Sets the length of prepared data.
|
||||
/// Needed only for data lengths greater than 1 (i.e. for
|
||||
/// bulk operations).
|
||||
|
||||
Poco::UInt32 getLength() const;
|
||||
/// Returns the length of prepared data. Defaults to 1.
|
||||
/// The length is greater than one for bulk operations.
|
||||
|
||||
void setBulk(bool bulkPrep = true);
|
||||
/// Sets bulk operation flag (always false at object creation time)
|
||||
|
||||
bool isBulk() const;
|
||||
/// Returns bulk operation flag.
|
||||
|
||||
private:
|
||||
Poco::UInt32 _length;
|
||||
bool _bulk;
|
||||
AbstractPreparator* _pPreparator;
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// inlines
|
||||
///
|
||||
inline void AbstractPreparation::setLength(Poco::UInt32 length)
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline AbstractPreparator* AbstractPreparation::preparation()
|
||||
{
|
||||
_length = length;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 AbstractPreparation::getLength() const
|
||||
{
|
||||
return _length;
|
||||
}
|
||||
|
||||
|
||||
inline void AbstractPreparation::setBulk(bool bulkPrep)
|
||||
{
|
||||
_bulk = bulkPrep;
|
||||
}
|
||||
|
||||
|
||||
inline bool AbstractPreparation::isBulk() const
|
||||
{
|
||||
return _bulk;
|
||||
return _pPreparator;
|
||||
}
|
||||
|
||||
|
||||
|
||||
391
Data/include/Poco/Data/AbstractPreparator.h
Normal file
391
Data/include/Poco/Data/AbstractPreparator.h
Normal file
@@ -0,0 +1,391 @@
|
||||
//
|
||||
// AbstractPreparator.h
|
||||
//
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/AbstractPreparator.h#5 $
|
||||
//
|
||||
// Library: Data
|
||||
// Package: DataCore
|
||||
// Module: AbstractPreparator
|
||||
//
|
||||
// Definition of the AbstractPreparator class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person or organization
|
||||
// obtaining a copy of the software and accompanying documentation covered by
|
||||
// this license (the "Software") to use, reproduce, display, distribute,
|
||||
// execute, and transmit the Software, and to prepare derivative works of the
|
||||
// Software, and to permit third-parties to whom the Software is furnished to
|
||||
// do so, all subject to the following:
|
||||
//
|
||||
// The copyright notices in the Software and this entire statement, including
|
||||
// the above license grant, this restriction and the following disclaimer,
|
||||
// must be included in all copies of the Software, in whole or in part, and
|
||||
// all derivative works of the Software, unless such copies or derivative
|
||||
// works are solely in the form of machine-executable object code generated by
|
||||
// a source language processor.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
|
||||
#ifndef Data_AbstractPreparator_INCLUDED
|
||||
#define Data_AbstractPreparator_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/RefCountedObject.h"
|
||||
#include "Poco/Data/LOB.h"
|
||||
#include <vector>
|
||||
#include <deque>
|
||||
#include <list>
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
|
||||
|
||||
class DateTime;
|
||||
class Any;
|
||||
|
||||
namespace Dynamic {
|
||||
class Var;
|
||||
}
|
||||
|
||||
|
||||
namespace Data {
|
||||
|
||||
|
||||
class Date;
|
||||
class Time;
|
||||
|
||||
|
||||
class Data_API AbstractPreparator: public Poco::RefCountedObject
|
||||
/// Interface used for database preparation where we first have to register all data types (and memory output locations)
|
||||
/// before extracting data, i.e. extract works as two-pase extract: first we call prepare once, then extract n-times.
|
||||
/// There are cases (bulk operations using std::vector storage) when extract is called only once.
|
||||
/// The value passed to a prepare() call is not be used by the prepare, serving only as an indication of the data type
|
||||
/// being prepared.
|
||||
/// Implementing this interface is not mandatory for a connector. Connectors that only extract data after SQL execution
|
||||
/// (e.g. SQLite) do not need this functionality at all.
|
||||
{
|
||||
public:
|
||||
AbstractPreparator(Poco::UInt32 length = 1u);
|
||||
/// Creates the AbstractPreparator.
|
||||
|
||||
virtual ~AbstractPreparator();
|
||||
/// Destroys the AbstractPreparator.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int8&) = 0;
|
||||
/// Preparations an Int8.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int8>& val);
|
||||
/// Preparations an Int8 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int8>& val);
|
||||
/// Preparations an Int8 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int8>& val);
|
||||
/// Preparations an Int8 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt8&) = 0;
|
||||
/// Preparations an UInt8.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt8>& val);
|
||||
/// Preparations an UInt8 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt8>& val);
|
||||
/// Preparations an UInt8 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt8>& val);
|
||||
/// Preparations an UInt8 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int16&) = 0;
|
||||
/// Preparations an Int16.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int16>& val);
|
||||
/// Preparations an Int16 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int16>& val);
|
||||
/// Preparations an Int16 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int16>& val);
|
||||
/// Preparations an Int16 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt16&) = 0;
|
||||
/// Preparations an UInt16.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt16>& val);
|
||||
/// Preparations an UInt16 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt16>& val);
|
||||
/// Preparations an UInt16 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt16>& val);
|
||||
/// Preparations an UInt16 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int32&) = 0;
|
||||
/// Preparations an Int32.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int32>& val);
|
||||
/// Preparations an Int32 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int32>& val);
|
||||
/// Preparations an Int32 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int32>& val);
|
||||
/// Preparations an Int32 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt32&) = 0;
|
||||
/// Preparations an UInt32.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt32>& val);
|
||||
/// Preparations an UInt32 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt32>& val);
|
||||
/// Preparations an UInt32 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt32>& val);
|
||||
/// Preparations an UInt32 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::Int64&) = 0;
|
||||
/// Preparations an Int64.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::Int64>& val);
|
||||
/// Preparations an Int64 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::Int64>& val);
|
||||
/// Preparations an Int64 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::Int64>& val);
|
||||
/// Preparations an Int64 list.
|
||||
|
||||
virtual void prepare(std::size_t pos, Poco::UInt64&) = 0;
|
||||
/// Preparations an UInt64.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<Poco::UInt64>& val);
|
||||
/// Preparations an UInt64 vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<Poco::UInt64>& val);
|
||||
/// Preparations an UInt64 deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<Poco::UInt64>& val);
|
||||
/// Preparations an UInt64 list.
|
||||
|
||||
#ifndef POCO_LONG_IS_64_BIT
|
||||
virtual void prepare(std::size_t pos, long&) = 0;
|
||||
/// Preparations a long.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<long>& val);
|
||||
/// Preparations a long vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<long>& val);
|
||||
/// Preparations a long deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<long>& val);
|
||||
/// Preparations a long list.
|
||||
#endif
|
||||
|
||||
virtual void prepare(std::size_t pos, bool&) = 0;
|
||||
/// Preparations a boolean.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<bool>& val);
|
||||
/// Preparations a boolean vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<bool>& val);
|
||||
/// Preparations a boolean deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<bool>& val);
|
||||
/// Preparations a boolean list.
|
||||
|
||||
virtual void prepare(std::size_t pos, float&) = 0;
|
||||
/// Preparations a float.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<float>& val);
|
||||
/// Preparations a float vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<float>& val);
|
||||
/// Preparations a float deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<float>& val);
|
||||
/// Preparations a float list.
|
||||
|
||||
virtual void prepare(std::size_t pos, double&) = 0;
|
||||
/// Preparations a double.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<double>& val);
|
||||
/// Preparations a double vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<double>& val);
|
||||
/// Preparations a double deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<double>& val);
|
||||
/// Preparations a double list.
|
||||
|
||||
virtual void prepare(std::size_t pos, char&) = 0;
|
||||
/// Preparations a single character.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::vector<char>& val);
|
||||
/// Preparations a character vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::deque<char>& val);
|
||||
/// Preparations a character deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, std::list<char>& val);
|
||||
/// Preparations a character list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::string&) = 0;
|
||||
/// Preparations a string.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<std::string>& val);
|
||||
/// Preparations a string vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<std::string>& val);
|
||||
/// Preparations a string deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<std::string>& val);
|
||||
/// Preparations a string list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const BLOB&) = 0;
|
||||
/// Preparations a BLOB.
|
||||
|
||||
virtual void prepare(std::size_t pos, const CLOB&) = 0;
|
||||
/// Preparations a CLOB.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<BLOB>& val);
|
||||
/// Preparations a BLOB vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<BLOB>& val);
|
||||
/// Preparations a BLOB deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<BLOB>& val);
|
||||
/// Preparations a BLOB list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<CLOB>& val);
|
||||
/// Preparations a CLOB vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<CLOB>& val);
|
||||
/// Preparations a CLOB deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<CLOB>& val);
|
||||
/// Preparations a CLOB list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const DateTime&) = 0;
|
||||
/// Preparations a DateTime.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<DateTime>& val);
|
||||
/// Preparations a DateTime vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<DateTime>& val);
|
||||
/// Preparations a DateTime deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<DateTime>& val);
|
||||
/// Preparations a DateTime list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Date&) = 0;
|
||||
/// Preparations a Date.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Date>& val);
|
||||
/// Preparations a Date vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Date>& val);
|
||||
/// Preparations a Date deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Date>& val);
|
||||
/// Preparations a Date list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Time&) = 0;
|
||||
/// Preparations a Time.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Time>& val);
|
||||
/// Preparations a Time vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Time>& val);
|
||||
/// Preparations a Time deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Time>& val);
|
||||
/// Preparations a Time list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Any&) = 0;
|
||||
/// Preparations an Any.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Any>& val);
|
||||
/// Preparations an Any vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Any>& val);
|
||||
/// Preparations an Any deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Any>& val);
|
||||
/// Preparations an Any list.
|
||||
|
||||
virtual void prepare(std::size_t pos, const Poco::Dynamic::Var&) = 0;
|
||||
/// Preparations a Var.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::vector<Poco::Dynamic::Var>& val);
|
||||
/// Preparations a Var vector.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::deque<Poco::Dynamic::Var>& val);
|
||||
/// Preparations a Var deque.
|
||||
|
||||
virtual void prepare(std::size_t pos, const std::list<Poco::Dynamic::Var>& val);
|
||||
/// Preparations a Var list.
|
||||
|
||||
void setLength(Poco::UInt32 length);
|
||||
/// Sets the length of prepared data.
|
||||
/// Needed only for data lengths greater than 1 (i.e. for
|
||||
/// bulk operations).
|
||||
|
||||
Poco::UInt32 getLength() const;
|
||||
/// Returns the length of prepared data. Defaults to 1.
|
||||
/// The length is greater than one for bulk operations.
|
||||
|
||||
void setBulk(bool bulkPrep = true);
|
||||
/// Sets bulk operation flag (always false at object creation time)
|
||||
|
||||
bool isBulk() const;
|
||||
/// Returns bulk operation flag.
|
||||
|
||||
private:
|
||||
Poco::UInt32 _length;
|
||||
bool _bulk;
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// inlines
|
||||
///
|
||||
inline void AbstractPreparator::setLength(Poco::UInt32 length)
|
||||
{
|
||||
_length = length;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 AbstractPreparator::getLength() const
|
||||
{
|
||||
return _length;
|
||||
}
|
||||
|
||||
|
||||
inline void AbstractPreparator::setBulk(bool bulkPrep)
|
||||
{
|
||||
_bulk = bulkPrep;
|
||||
}
|
||||
|
||||
|
||||
inline bool AbstractPreparator::isBulk() const
|
||||
{
|
||||
return _bulk;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Data
|
||||
|
||||
|
||||
#endif // Data_AbstractPreparator_INCLUDED
|
||||
@@ -1,87 +0,0 @@
|
||||
//
|
||||
// AbstractPrepare.h
|
||||
//
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/AbstractPrepare.h#4 $
|
||||
//
|
||||
// Library: Data
|
||||
// Package: DataCore
|
||||
// Module: AbstractPrepare
|
||||
//
|
||||
// Definition of the AbstractPrepare class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person or organization
|
||||
// obtaining a copy of the software and accompanying documentation covered by
|
||||
// this license (the "Software") to use, reproduce, display, distribute,
|
||||
// execute, and transmit the Software, and to prepare derivative works of the
|
||||
// Software, and to permit third-parties to whom the Software is furnished to
|
||||
// do so, all subject to the following:
|
||||
//
|
||||
// The copyright notices in the Software and this entire statement, including
|
||||
// the above license grant, this restriction and the following disclaimer,
|
||||
// must be included in all copies of the Software, in whole or in part, and
|
||||
// all derivative works of the Software, unless such copies or derivative
|
||||
// works are solely in the form of machine-executable object code generated by
|
||||
// a source language processor.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
|
||||
#ifndef Data_AbstractPrepare_INCLUDED
|
||||
#define Data_AbstractPrepare_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Data {
|
||||
|
||||
|
||||
class AbstractPreparation;
|
||||
|
||||
|
||||
class Data_API AbstractPrepare
|
||||
/// Interface for calling the appropriate AbstractPreparation method
|
||||
{
|
||||
public:
|
||||
AbstractPrepare(AbstractPreparation* pPrepare);
|
||||
/// Creates the AbstractPrepare.
|
||||
|
||||
virtual ~AbstractPrepare();
|
||||
/// Destroys the AbstractPrepare.
|
||||
|
||||
virtual void prepare() = 0;
|
||||
/// Prepares data.
|
||||
|
||||
protected:
|
||||
AbstractPreparation* preparation();
|
||||
/// Returns the preparation object
|
||||
|
||||
AbstractPreparation* _pPrepare;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline AbstractPreparation* AbstractPrepare::preparation()
|
||||
{
|
||||
return _pPrepare;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Data
|
||||
|
||||
|
||||
#endif // Data_AbstractPrepare_INCLUDED
|
||||
@@ -1,284 +0,0 @@
|
||||
//
|
||||
// BLOB.h
|
||||
//
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/BLOB.h#12 $
|
||||
//
|
||||
// Library: Data
|
||||
// Package: DataCore
|
||||
// Module: BLOB
|
||||
//
|
||||
// Definition of the BLOB class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person or organization
|
||||
// obtaining a copy of the software and accompanying documentation covered by
|
||||
// this license (the "Software") to use, reproduce, display, distribute,
|
||||
// execute, and transmit the Software, and to prepare derivative works of the
|
||||
// Software, and to permit third-parties to whom the Software is furnished to
|
||||
// do so, all subject to the following:
|
||||
//
|
||||
// The copyright notices in the Software and this entire statement, including
|
||||
// the above license grant, this restriction and the following disclaimer,
|
||||
// must be included in all copies of the Software, in whole or in part, and
|
||||
// all derivative works of the Software, unless such copies or derivative
|
||||
// works are solely in the form of machine-executable object code generated by
|
||||
// a source language processor.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
|
||||
#ifndef Data_BLOB_INCLUDED
|
||||
#define Data_BLOB_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include "Poco/Dynamic/VarHolder.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Data {
|
||||
|
||||
|
||||
class Data_API BLOB
|
||||
/// Representation of a Binary Large OBject.
|
||||
///
|
||||
/// A BLOB can hold arbitrary binary data.
|
||||
/// The maximum size depends on the underlying database.
|
||||
///
|
||||
/// The BLOBInputStream and BLOBOutputStream classes provide
|
||||
/// a convenient way to access the data in a BLOB.
|
||||
{
|
||||
public:
|
||||
typedef std::vector<char>::const_iterator Iterator;
|
||||
|
||||
BLOB();
|
||||
/// Creates an empty BLOB.
|
||||
|
||||
BLOB(const std::vector<char>& content);
|
||||
/// Creates the BLOB, content is deep-copied.
|
||||
|
||||
BLOB(const char* const pContent, std::size_t size);
|
||||
/// Creates the BLOB by deep-copying pContent.
|
||||
|
||||
BLOB(const std::string& content);
|
||||
/// Creates a BLOB from a string.
|
||||
|
||||
BLOB(const BLOB& other);
|
||||
/// Creates a BLOB by copying another one.
|
||||
|
||||
~BLOB();
|
||||
/// Destroys the BLOB.
|
||||
|
||||
BLOB& operator = (const BLOB& other);
|
||||
/// Assignment operator.
|
||||
|
||||
bool operator == (const BLOB& other) const;
|
||||
/// Compares for equality BLOB by value.
|
||||
|
||||
bool operator != (const BLOB& other) const;
|
||||
/// Compares for inequality BLOB by value.
|
||||
|
||||
void swap(BLOB& other);
|
||||
/// Swaps the BLOB with another one.
|
||||
|
||||
const std::vector<char>& content() const;
|
||||
/// Returns the content.
|
||||
|
||||
const char* rawContent() const;
|
||||
/// Returns the raw content.
|
||||
///
|
||||
/// If the BLOB is empty, returns NULL.
|
||||
|
||||
void assignRaw(const char* pChar, std::size_t count);
|
||||
/// Assigns raw content to internal storage.
|
||||
|
||||
void appendRaw(const char* pChar, std::size_t count);
|
||||
/// Assigns raw content to internal storage.
|
||||
|
||||
void clear(bool doCompact = false);
|
||||
/// Clears the content of the blob.
|
||||
/// If doCompact is true, trims the excess capacity.
|
||||
|
||||
void compact();
|
||||
/// Trims the internal storage excess capacity.
|
||||
|
||||
Iterator begin() const;
|
||||
Iterator end() const;
|
||||
|
||||
std::size_t size() const;
|
||||
/// Returns the size of the BLOB in bytes.
|
||||
|
||||
private:
|
||||
Poco::SharedPtr<std::vector<char> > _pContent;
|
||||
|
||||
friend class BLOBStreamBuf;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::vector<char>& BLOB::content() const
|
||||
{
|
||||
return *_pContent;
|
||||
}
|
||||
|
||||
|
||||
inline const char* BLOB::rawContent() const
|
||||
{
|
||||
if (_pContent->empty())
|
||||
return 0;
|
||||
else
|
||||
return &(*_pContent)[0];
|
||||
}
|
||||
|
||||
|
||||
inline std::size_t BLOB::size() const
|
||||
{
|
||||
return _pContent->size();
|
||||
}
|
||||
|
||||
|
||||
inline bool BLOB::operator == (const BLOB& other) const
|
||||
{
|
||||
return *_pContent == *other._pContent;
|
||||
}
|
||||
|
||||
|
||||
inline bool BLOB::operator != (const BLOB& other) const
|
||||
{
|
||||
return *_pContent != *other._pContent;
|
||||
}
|
||||
|
||||
|
||||
inline BLOB::Iterator BLOB::begin() const
|
||||
{
|
||||
return _pContent->begin();
|
||||
}
|
||||
|
||||
|
||||
inline BLOB::Iterator BLOB::end() const
|
||||
{
|
||||
return _pContent->end();
|
||||
}
|
||||
|
||||
|
||||
inline void BLOB::assignRaw(const char* pChar, std::size_t count)
|
||||
{
|
||||
poco_assert_dbg (pChar);
|
||||
BLOB tmp(pChar, count);
|
||||
swap(tmp);
|
||||
}
|
||||
|
||||
|
||||
inline void BLOB::appendRaw(const char* pChar, std::size_t count)
|
||||
{
|
||||
poco_assert_dbg (pChar);
|
||||
_pContent->insert(_pContent->end(), pChar, pChar+count);
|
||||
}
|
||||
|
||||
|
||||
inline void BLOB::swap(BLOB& other)
|
||||
{
|
||||
using std::swap;
|
||||
swap(_pContent, other._pContent);
|
||||
}
|
||||
|
||||
|
||||
inline void BLOB::clear(bool doCompact)
|
||||
{
|
||||
_pContent->clear();
|
||||
if (doCompact) compact();
|
||||
}
|
||||
|
||||
|
||||
inline void BLOB::compact()
|
||||
{
|
||||
std::vector<char>(*_pContent).swap(*_pContent);
|
||||
}
|
||||
|
||||
|
||||
inline void swap(BLOB& b1, BLOB& b2)
|
||||
{
|
||||
b1.swap(b2);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Data
|
||||
|
||||
|
||||
namespace std
|
||||
{
|
||||
template<>
|
||||
inline void swap<Poco::Data::BLOB>(Poco::Data::BLOB& b1,
|
||||
Poco::Data::BLOB& b2)
|
||||
/// Full template specalization of std:::swap for BLOB
|
||||
{
|
||||
b1.swap(b2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// VarHolderImpl<BLOB>
|
||||
//
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Dynamic {
|
||||
|
||||
|
||||
template <>
|
||||
class VarHolderImpl<Poco::Data::BLOB>: public VarHolder
|
||||
{
|
||||
public:
|
||||
VarHolderImpl(const Poco::Data::BLOB& val): _val(val)
|
||||
{
|
||||
}
|
||||
|
||||
~VarHolderImpl()
|
||||
{
|
||||
}
|
||||
|
||||
const std::type_info& type() const
|
||||
{
|
||||
return typeid(Poco::Data::BLOB);
|
||||
}
|
||||
|
||||
void convert(std::string& val) const
|
||||
{
|
||||
val.assign(_val.begin(), _val.end());
|
||||
}
|
||||
|
||||
VarHolder* clone() const
|
||||
{
|
||||
return new VarHolderImpl(_val);
|
||||
}
|
||||
|
||||
const Poco::Data::BLOB& value() const
|
||||
{
|
||||
return _val;
|
||||
}
|
||||
|
||||
private:
|
||||
VarHolderImpl();
|
||||
Poco::Data::BLOB _val;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Dynamic
|
||||
|
||||
|
||||
#endif // Data_BLOB_INCLUDED
|
||||
@@ -1,123 +0,0 @@
|
||||
//
|
||||
// BLOBStream.h
|
||||
//
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/BLOBStream.h#3 $
|
||||
//
|
||||
// Library: Data
|
||||
// Package: DataCore
|
||||
// Module: BLOBStream
|
||||
//
|
||||
// Definition of the BLOBStream class.
|
||||
//
|
||||
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person or organization
|
||||
// obtaining a copy of the software and accompanying documentation covered by
|
||||
// this license (the "Software") to use, reproduce, display, distribute,
|
||||
// execute, and transmit the Software, and to prepare derivative works of the
|
||||
// Software, and to permit third-parties to whom the Software is furnished to
|
||||
// do so, all subject to the following:
|
||||
//
|
||||
// The copyright notices in the Software and this entire statement, including
|
||||
// the above license grant, this restriction and the following disclaimer,
|
||||
// must be included in all copies of the Software, in whole or in part, and
|
||||
// all derivative works of the Software, unless such copies or derivative
|
||||
// works are solely in the form of machine-executable object code generated by
|
||||
// a source language processor.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
|
||||
#ifndef Data_BLOBStream_INCLUDED
|
||||
#define Data_BLOBStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
#include "Poco/UnbufferedStreamBuf.h"
|
||||
#include "Poco/Data/BLOB.h"
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Data {
|
||||
|
||||
|
||||
class Data_API BLOBStreamBuf: public UnbufferedStreamBuf
|
||||
/// This is the streambuf class used for reading from and writing to a BLOB.
|
||||
{
|
||||
public:
|
||||
BLOBStreamBuf(BLOB& blob);
|
||||
/// Creates BLOBStreamBuf.
|
||||
|
||||
~BLOBStreamBuf();
|
||||
/// Destroys BLOBStreamBuf.
|
||||
|
||||
protected:
|
||||
int_type readFromDevice();
|
||||
int_type writeToDevice(char c);
|
||||
|
||||
private:
|
||||
BLOB& _blob;
|
||||
BLOB::Iterator _it;
|
||||
};
|
||||
|
||||
|
||||
class Data_API BLOBIOS: public virtual std::ios
|
||||
/// The base class for BLOBInputStream and
|
||||
/// BLOBOutputStream.
|
||||
///
|
||||
/// This class is needed to ensure the correct initialization
|
||||
/// order of the stream buffer and base classes.
|
||||
{
|
||||
public:
|
||||
BLOBIOS(BLOB& blob, openmode mode);
|
||||
/// Creates the BLOBIOS with the given BLOB.
|
||||
|
||||
~BLOBIOS();
|
||||
/// Destroys the BLOBIOS.
|
||||
|
||||
BLOBStreamBuf* rdbuf();
|
||||
/// Returns a pointer to the internal BLOBStreamBuf.
|
||||
|
||||
protected:
|
||||
BLOBStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Data_API BLOBOutputStream: public BLOBIOS, public std::ostream
|
||||
/// An output stream for writing to a BLOB.
|
||||
{
|
||||
public:
|
||||
BLOBOutputStream(BLOB& blob);
|
||||
/// Creates the BLOBOutputStream with the given BLOB.
|
||||
|
||||
~BLOBOutputStream();
|
||||
/// Destroys the BLOBOutputStream.
|
||||
};
|
||||
|
||||
|
||||
class Data_API BLOBInputStream: public BLOBIOS, public std::istream
|
||||
/// An input stream for reading from a BLOB.
|
||||
{
|
||||
public:
|
||||
BLOBInputStream(BLOB& blob);
|
||||
/// Creates the BLOBInputStream with the given BLOB.
|
||||
|
||||
~BLOBInputStream();
|
||||
/// Destroys the BLOBInputStream.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Data
|
||||
|
||||
|
||||
#endif // Data_BLOBStream_INCLUDED
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/AbstractExtraction.h"
|
||||
#include "Poco/Data/Bulk.h"
|
||||
#include "Poco/Data/Prepare.h"
|
||||
#include "Poco/Data/Preparation.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
@@ -128,13 +128,13 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t col)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t col)
|
||||
{
|
||||
Poco::UInt32 limit = getLimit();
|
||||
if (limit != _rResult.size()) _rResult.resize(limit);
|
||||
pPrep->setLength(limit);
|
||||
pPrep->setBulk(true);
|
||||
return new Prepare<C>(pPrep, col, _rResult);
|
||||
return new Preparation<C>(pPrep, col, _rResult);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/AbstractExtraction.h"
|
||||
#include "Poco/Data/Prepare.h"
|
||||
#include "Poco/Data/Preparation.h"
|
||||
#include "Poco/Data/TypeHandler.h"
|
||||
#include "Poco/Data/Column.h"
|
||||
#include "Poco/Data/Position.h"
|
||||
@@ -130,9 +130,9 @@ public:
|
||||
return !_extracted;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<T>(pPrep, pos, _rResult);
|
||||
return new Preparation<T>(pPrep, pos, _rResult);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -204,9 +204,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<T>(pPrep, pos, _default);
|
||||
return new Preparation<T>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -285,9 +285,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<bool>(pPrep, pos, _default);
|
||||
return new Preparation<bool>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -364,9 +364,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<T>(pPrep, pos, _default);
|
||||
return new Preparation<T>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -443,9 +443,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<T>(pPrep, pos, _default);
|
||||
return new Preparation<T>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -576,9 +576,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<T>(pPrep, pos, _default);
|
||||
return new Preparation<T>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -635,9 +635,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<T>(pPrep, pos, _default);
|
||||
return new Preparation<T>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -694,9 +694,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<V>(pPrep, pos, _default);
|
||||
return new Preparation<V>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -753,9 +753,9 @@ public:
|
||||
return 1u;
|
||||
}
|
||||
|
||||
AbstractPrepare* createPrepareObject(AbstractPreparation* pPrep, std::size_t pos)
|
||||
AbstractPreparation* createPreparation(AbstractPreparator* pPrep, std::size_t pos)
|
||||
{
|
||||
return new Prepare<V>(pPrep, pos, _default);
|
||||
return new Preparation<V>(pPrep, pos, _default);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -67,6 +67,7 @@ public:
|
||||
FDT_DOUBLE,
|
||||
FDT_STRING,
|
||||
FDT_BLOB,
|
||||
FDT_CLOB,
|
||||
FDT_DATE,
|
||||
FDT_TIME,
|
||||
FDT_TIMESTAMP,
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
//
|
||||
// Prepare.h
|
||||
// Preparation.h
|
||||
//
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/Prepare.h#8 $
|
||||
// $Id: //poco/Main/Data/include/Poco/Data/Preparation.h#8 $
|
||||
//
|
||||
// Library: Data
|
||||
// Package: DataCore
|
||||
// Module: Prepare
|
||||
// Module: Preparation
|
||||
//
|
||||
// Definition of the Prepare class.
|
||||
// Definition of the Preparation class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
@@ -36,12 +36,12 @@
|
||||
//
|
||||
|
||||
|
||||
#ifndef Data_Prepare_INCLUDED
|
||||
#define Data_Prepare_INCLUDED
|
||||
#ifndef Data_Preparation_INCLUDED
|
||||
#define Data_Preparation_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/AbstractPrepare.h"
|
||||
#include "Poco/Data/AbstractPreparation.h"
|
||||
#include "Poco/Data/TypeHandler.h"
|
||||
#include <cstddef>
|
||||
#include <vector>
|
||||
@@ -52,25 +52,25 @@ namespace Data {
|
||||
|
||||
|
||||
template<typename T>
|
||||
class Prepare: public AbstractPrepare
|
||||
/// Class for calling the appropriate AbstractPreparation method.
|
||||
class Preparation: public AbstractPreparation
|
||||
/// Class for calling the appropriate AbstractPreparator method.
|
||||
{
|
||||
public:
|
||||
Prepare(AbstractPreparation* pPrepare, std::size_t pos, T& val):
|
||||
AbstractPrepare(pPrepare),
|
||||
Preparation(AbstractPreparator* pPreparator, std::size_t pos, T& val):
|
||||
AbstractPreparation(pPreparator),
|
||||
_pos(pos),
|
||||
_val(val)
|
||||
/// Creates the Prepare.
|
||||
/// Creates the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
~Prepare()
|
||||
/// Destroys the Prepare.
|
||||
~Preparation()
|
||||
/// Destroys the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
void prepare()
|
||||
/// Prepares data.
|
||||
/// Preparations data.
|
||||
{
|
||||
TypeHandler<T>::prepare(_pos, _val, preparation());
|
||||
}
|
||||
@@ -82,27 +82,27 @@ private:
|
||||
|
||||
|
||||
template<typename T>
|
||||
class Prepare<std::vector<T> >: public AbstractPrepare
|
||||
/// Prepare specialization for std::vector.
|
||||
class Preparation<std::vector<T> >: public AbstractPreparation
|
||||
/// Preparation specialization for std::vector.
|
||||
/// This specialization is needed for bulk operations to enforce
|
||||
/// the whole vector preparation, rather than only individual contained values.
|
||||
{
|
||||
public:
|
||||
Prepare(AbstractPreparation* pPrepare, std::size_t pos, std::vector<T>& val = std::vector<T>()):
|
||||
AbstractPrepare(pPrepare),
|
||||
Preparation(AbstractPreparator* pPreparator, std::size_t pos, std::vector<T>& val = std::vector<T>()):
|
||||
AbstractPreparation(pPreparator),
|
||||
_pos(pos),
|
||||
_val(val)
|
||||
/// Creates the Prepare.
|
||||
/// Creates the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
~Prepare()
|
||||
/// Destroys the Prepare.
|
||||
~Preparation()
|
||||
/// Destroys the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
void prepare()
|
||||
/// Prepares data.
|
||||
/// Preparations data.
|
||||
{
|
||||
TypeHandler<std::vector<T> >::prepare(_pos, _val, preparation());
|
||||
}
|
||||
@@ -114,27 +114,27 @@ private:
|
||||
|
||||
|
||||
template<typename T>
|
||||
class Prepare<std::deque<T> >: public AbstractPrepare
|
||||
/// Prepare specialization for std::deque.
|
||||
class Preparation<std::deque<T> >: public AbstractPreparation
|
||||
/// Preparation specialization for std::deque.
|
||||
/// This specialization is needed for bulk operations to enforce
|
||||
/// the whole deque preparation, rather than only individual contained values.
|
||||
{
|
||||
public:
|
||||
Prepare(AbstractPreparation* pPrepare, std::size_t pos, std::deque<T>& val = std::deque<T>()):
|
||||
AbstractPrepare(pPrepare),
|
||||
Preparation(AbstractPreparator* pPreparator, std::size_t pos, std::deque<T>& val = std::deque<T>()):
|
||||
AbstractPreparation(pPreparator),
|
||||
_pos(pos),
|
||||
_val(val)
|
||||
/// Creates the Prepare.
|
||||
/// Creates the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
~Prepare()
|
||||
/// Destroys the Prepare.
|
||||
~Preparation()
|
||||
/// Destroys the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
void prepare()
|
||||
/// Prepares data.
|
||||
/// Preparations data.
|
||||
{
|
||||
TypeHandler<std::deque<T> >::prepare(_pos, _val, preparation());
|
||||
}
|
||||
@@ -146,27 +146,27 @@ private:
|
||||
|
||||
|
||||
template<typename T>
|
||||
class Prepare<std::list<T> >: public AbstractPrepare
|
||||
/// Prepare specialization for std::list.
|
||||
class Preparation<std::list<T> >: public AbstractPreparation
|
||||
/// Preparation specialization for std::list.
|
||||
/// This specialization is needed for bulk operations to enforce
|
||||
/// the whole list preparation, rather than only individual contained values.
|
||||
{
|
||||
public:
|
||||
Prepare(AbstractPreparation* pPrepare, std::size_t pos, std::list<T>& val = std::list<T>()):
|
||||
AbstractPrepare(pPrepare),
|
||||
Preparation(AbstractPreparator* pPreparator, std::size_t pos, std::list<T>& val = std::list<T>()):
|
||||
AbstractPreparation(pPreparator),
|
||||
_pos(pos),
|
||||
_val(val)
|
||||
/// Creates the Prepare.
|
||||
/// Creates the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
~Prepare()
|
||||
/// Destroys the Prepare.
|
||||
~Preparation()
|
||||
/// Destroys the Preparation.
|
||||
{
|
||||
}
|
||||
|
||||
void prepare()
|
||||
/// Prepares data.
|
||||
/// Preparations data.
|
||||
{
|
||||
TypeHandler<std::list<T> >::prepare(_pos, _val, preparation());
|
||||
}
|
||||
@@ -180,4 +180,4 @@ private:
|
||||
} } // namespace Poco::Data
|
||||
|
||||
|
||||
#endif // Data_Prepare_INCLUDED
|
||||
#endif // Data_Preparation_INCLUDED
|
||||
@@ -45,7 +45,7 @@
|
||||
#include "Poco/Data/BulkExtraction.h"
|
||||
#include "Poco/Data/Statement.h"
|
||||
#include "Poco/Data/RowIterator.h"
|
||||
#include "Poco/Data/BLOB.h"
|
||||
#include "Poco/Data/LOB.h"
|
||||
#include "Poco/String.h"
|
||||
#include "Poco/Dynamic/Var.h"
|
||||
#include "Poco/Exception.h"
|
||||
@@ -173,18 +173,18 @@ public:
|
||||
{
|
||||
case STORAGE_VECTOR:
|
||||
{
|
||||
typedef std::vector<T> C;
|
||||
typedef typename std::vector<T> C;
|
||||
return column<C>(col).value(row);
|
||||
}
|
||||
case STORAGE_LIST:
|
||||
{
|
||||
typedef std::list<T> C;
|
||||
typedef typename std::list<T> C;
|
||||
return column<C>(col).value(row);
|
||||
}
|
||||
case STORAGE_DEQUE:
|
||||
case STORAGE_UNKNOWN:
|
||||
{
|
||||
typedef std::deque<T> C;
|
||||
typedef typename std::deque<T> C;
|
||||
return column<C>(col).value(row);
|
||||
}
|
||||
default:
|
||||
@@ -203,18 +203,18 @@ public:
|
||||
{
|
||||
case STORAGE_VECTOR:
|
||||
{
|
||||
typedef std::vector<T> C;
|
||||
typedef typename std::vector<T> C;
|
||||
return column<C>(name).value(row);
|
||||
}
|
||||
case STORAGE_LIST:
|
||||
{
|
||||
typedef std::list<T> C;
|
||||
typedef typename std::list<T> C;
|
||||
return column<C>(name).value(row);
|
||||
}
|
||||
case STORAGE_DEQUE:
|
||||
case STORAGE_UNKNOWN:
|
||||
{
|
||||
typedef std::deque<T> C;
|
||||
typedef typename std::deque<T> C;
|
||||
return column<C>(name).value(row);
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/AbstractBinder.h"
|
||||
#include "Poco/Data/AbstractExtractor.h"
|
||||
#include "Poco/Data/AbstractPreparation.h"
|
||||
#include "Poco/Data/AbstractPreparator.h"
|
||||
#include "Poco/Data/Nullable.h"
|
||||
#include "Poco/Tuple.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
@@ -103,13 +103,13 @@ class TypeHandler: public AbstractTypeHandler
|
||||
/// TypeHandler<int>::bind(pos++, obj.getAge(), pBinder);
|
||||
/// }
|
||||
///
|
||||
/// static void prepare(std::size_t pos, const Person& obj, AbstractPreparation* pPrepare)
|
||||
/// static void prepare(std::size_t pos, const Person& obj, AbstractPreparator* pPreparator)
|
||||
/// {
|
||||
/// // the table is defined as Person (LastName VARCHAR(30), FirstName VARCHAR, Age INTEGER(3))
|
||||
/// poco_assert_dbg (pPrepare != 0);
|
||||
/// TypeHandler<std::string>::prepare(pos++, obj.getLastName(), pPrepare);
|
||||
/// TypeHandler<std::string>::prepare(pos++, obj.getFirstName(), pPrepare);
|
||||
/// TypeHandler<int>::prepare(pos++, obj.getAge(), pPrepare);
|
||||
/// poco_assert_dbg (pPreparator != 0);
|
||||
/// TypeHandler<std::string>::prepare(pos++, obj.getLastName(), pPreparator);
|
||||
/// TypeHandler<std::string>::prepare(pos++, obj.getFirstName(), pPreparator);
|
||||
/// TypeHandler<int>::prepare(pos++, obj.getAge(), pPreparator);
|
||||
/// }
|
||||
///
|
||||
/// static void extract(std::size_t pos, Person& obj, const Person& defVal, AbstractExtractor* pExt)
|
||||
@@ -151,10 +151,10 @@ public:
|
||||
if (!pExt->extract(pos, obj)) obj = defVal;
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, T& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, T& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
pPrepare->prepare(pos, obj);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
pPreparator->prepare(pos, obj);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -186,10 +186,10 @@ public:
|
||||
obj.assign(obj.size(), defVal);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, std::deque<T>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, std::deque<T>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
pPrepare->prepare(pos, obj);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
pPreparator->prepare(pos, obj);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -221,10 +221,10 @@ public:
|
||||
obj.assign(obj.size(), defVal);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, std::vector<T>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, std::vector<T>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
pPrepare->prepare(pos, obj);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
pPreparator->prepare(pos, obj);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -256,10 +256,10 @@ public:
|
||||
obj.assign(obj.size(), defVal);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, std::list<T>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, std::list<T>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
pPrepare->prepare(pos, obj);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
pPreparator->prepare(pos, obj);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -286,16 +286,16 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, Nullable<T>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, Nullable<T>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
if (obj.isNull())
|
||||
{
|
||||
pPrepare->prepare(pos++, (Poco::Any&)Poco::Data::Keywords::null);
|
||||
pPreparator->prepare(pos++, (Poco::Any&)Poco::Data::Keywords::null);
|
||||
}
|
||||
else
|
||||
{
|
||||
pPrepare->prepare(pos++, (T&)obj.getValue());
|
||||
pPreparator->prepare(pos++, (T&)obj.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -382,29 +382,29 @@ public:
|
||||
TypeHandler<T19>::bind(pos++, tuple.template get<19>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPrepare);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPrepare);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPrepare);
|
||||
TypeHandler<T17>::prepare(pos++, tuple.template get<17>(), pPrepare);
|
||||
TypeHandler<T18>::prepare(pos++, tuple.template get<18>(), pPrepare);
|
||||
TypeHandler<T19>::prepare(pos++, tuple.template get<19>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPreparator);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPreparator);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPreparator);
|
||||
TypeHandler<T17>::prepare(pos++, tuple.template get<17>(), pPreparator);
|
||||
TypeHandler<T18>::prepare(pos++, tuple.template get<18>(), pPreparator);
|
||||
TypeHandler<T19>::prepare(pos++, tuple.template get<19>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -492,28 +492,28 @@ public:
|
||||
TypeHandler<T18>::bind(pos++, tuple.template get<18>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPrepare);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPrepare);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPrepare);
|
||||
TypeHandler<T17>::prepare(pos++, tuple.template get<17>(), pPrepare);
|
||||
TypeHandler<T18>::prepare(pos++, tuple.template get<18>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPreparator);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPreparator);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPreparator);
|
||||
TypeHandler<T17>::prepare(pos++, tuple.template get<17>(), pPreparator);
|
||||
TypeHandler<T18>::prepare(pos++, tuple.template get<18>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -598,27 +598,27 @@ public:
|
||||
TypeHandler<T17>::bind(pos++, tuple.template get<17>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPrepare);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPrepare);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPrepare);
|
||||
TypeHandler<T17>::prepare(pos++, tuple.template get<17>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPreparator);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPreparator);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPreparator);
|
||||
TypeHandler<T17>::prepare(pos++, tuple.template get<17>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -700,26 +700,26 @@ public:
|
||||
TypeHandler<T16>::bind(pos++, tuple.template get<16>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPrepare);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPrepare);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPreparator);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPreparator);
|
||||
TypeHandler<T16>::prepare(pos++, tuple.template get<16>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -798,25 +798,25 @@ public:
|
||||
TypeHandler<T15>::bind(pos++, tuple.template get<15>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPrepare);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPreparator);
|
||||
TypeHandler<T15>::prepare(pos++, tuple.template get<15>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -892,24 +892,24 @@ public:
|
||||
TypeHandler<T14>::bind(pos++, tuple.template get<14>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
TypeHandler<T14>::prepare(pos++, tuple.template get<14>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -982,23 +982,23 @@ public:
|
||||
TypeHandler<T13>::bind(pos++, tuple.template get<13>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
TypeHandler<T13>::prepare(pos++, tuple.template get<13>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1068,22 +1068,22 @@ public:
|
||||
TypeHandler<T12>::bind(pos++, tuple.template get<12>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
TypeHandler<T12>::prepare(pos++, tuple.template get<12>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1150,21 +1150,21 @@ public:
|
||||
TypeHandler<T11>::bind(pos++, tuple.template get<11>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
TypeHandler<T11>::prepare(pos++, tuple.template get<11>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1228,20 +1228,20 @@ public:
|
||||
TypeHandler<T10>::bind(pos++, tuple.template get<10>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
TypeHandler<T10>::prepare(pos++, tuple.template get<10>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1293,19 +1293,19 @@ public:
|
||||
TypeHandler<T9>::bind(pos++, tuple.template get<9>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
TypeHandler<T9>::prepare(pos++, tuple.template get<9>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1355,18 +1355,18 @@ public:
|
||||
TypeHandler<T8>::bind(pos++, tuple.template get<8>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
TypeHandler<T8>::prepare(pos++, tuple.template get<8>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1413,17 +1413,17 @@ public:
|
||||
TypeHandler<T7>::bind(pos++, tuple.template get<7>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
TypeHandler<T7>::prepare(pos++, tuple.template get<7>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1469,16 +1469,16 @@ public:
|
||||
TypeHandler<T6>::bind(pos++, tuple.template get<6>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
TypeHandler<T6>::prepare(pos++, tuple.template get<6>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1522,15 +1522,15 @@ public:
|
||||
TypeHandler<T5>::bind(pos++, tuple.template get<5>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
TypeHandler<T5>::prepare(pos++, tuple.template get<5>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1572,14 +1572,14 @@ public:
|
||||
TypeHandler<T4>::bind(pos++, tuple.template get<4>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
TypeHandler<T4>::prepare(pos++, tuple.template get<4>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1619,13 +1619,13 @@ public:
|
||||
TypeHandler<T3>::bind(pos++, tuple.template get<3>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
TypeHandler<T3>::prepare(pos++, tuple.template get<3>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1663,12 +1663,12 @@ public:
|
||||
TypeHandler<T2>::bind(pos++, tuple.template get<2>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
TypeHandler<T2>::prepare(pos++, tuple.template get<2>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1704,11 +1704,11 @@ public:
|
||||
TypeHandler<T1>::bind(pos++, tuple.template get<1>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
TypeHandler<T1>::prepare(pos++, tuple.template get<1>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1742,10 +1742,10 @@ public:
|
||||
TypeHandler<T0>::bind(pos++, tuple.template get<0>(), pBinder, dir);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, TupleRef tuple, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert (pPrepare != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPrepare);
|
||||
poco_assert (pPreparator != 0);
|
||||
TypeHandler<T0>::prepare(pos++, tuple.template get<0>(), pPreparator);
|
||||
}
|
||||
|
||||
static std::size_t size()
|
||||
@@ -1790,11 +1790,11 @@ public:
|
||||
TypeHandler<V>::extract(pos, obj.second, defVal.second, pExt);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, std::pair<K, V>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, std::pair<K, V>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
TypeHandler<K>::prepare(pos, obj.first, pPrepare);
|
||||
TypeHandler<K>::prepare(pos, obj.first, pPreparator);
|
||||
pos += TypeHandler<K>::size();
|
||||
TypeHandler<V>::prepare(pos, obj.second, pPrepare);
|
||||
TypeHandler<V>::prepare(pos, obj.second, pPreparator);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -1830,12 +1830,12 @@ public:
|
||||
TypeHandler<T>::extract(pos, *obj, *obj, pExt);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, Poco::AutoPtr<T>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, Poco::AutoPtr<T>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
if (!obj)
|
||||
obj = new T();
|
||||
TypeHandler<T>::prepare(pos, *obj, pPrepare);
|
||||
TypeHandler<T>::prepare(pos, *obj, pPreparator);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -1872,12 +1872,12 @@ public:
|
||||
TypeHandler<T>::extract(pos, *obj, *obj, pExt);
|
||||
}
|
||||
|
||||
static void prepare(std::size_t pos, Poco::SharedPtr<T>& obj, AbstractPreparation* pPrepare)
|
||||
static void prepare(std::size_t pos, Poco::SharedPtr<T>& obj, AbstractPreparator* pPreparator)
|
||||
{
|
||||
poco_assert_dbg (pPrepare != 0);
|
||||
poco_assert_dbg (pPreparator != 0);
|
||||
if (!obj)
|
||||
obj = new T();
|
||||
TypeHandler<T>::prepare(pos, *obj, pPrepare);
|
||||
TypeHandler<T>::prepare(pos, *obj, pPreparator);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user