# Poco::Data

# template < class C >

# class BulkExtraction

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

## Description

Specialization for bulk extraction of values from a query result set. Bulk extraction support is provided only for following STL containers: - std::vector - std::deque - std::list

## Inheritance

Direct Base Classes: AbstractExtraction

All Base Classes: AbstractExtraction

## Member Summary

Member Functions: createPreparation, extract, isNull, numOfColumnsHandled, numOfRowsAllowed, numOfRowsHandled, reset, result

Inherited Functions: canExtract, createPreparation, extract, getEmptyStringIsNull, getExtractor, getForceEmptyString, getHeldType, getLimit, isBulk, isNull, isValueNull, numOfColumnsHandled, numOfRowsAllowed, numOfRowsHandled, position, reset, setEmptyStringIsNull, setExtractor, setForceEmptyString, setHeldType, setLimit

## Types Aliases

### CValType

using CValType = typename C::value_type;

### Ptr

using Ptr = SharedPtr < Type >;

### Type

using Type = BulkExtraction < ValType >;

### ValPtr

using ValPtr = SharedPtr < ValType >;

### ValType

using ValType = C;

## Constructors

### BulkExtraction

BulkExtraction(
C & result,
Poco::UInt32 limit,
const Position & pos = Position (0)
);

### BulkExtraction

BulkExtraction(
C & result,
const CValType & def,
Poco::UInt32 limit,
const Position & pos = Position (0)
);

## Destructor

### ~BulkExtraction

~BulkExtraction() override;

## Member Functions

### createPreparation

AbstractPreparation::Ptr createPreparation(
AbstractPreparator::Ptr & pPrep,
std::size_t col
) override;

### extract

std::size_t extract(
std::size_t col
) override;

See also: Poco::Data::AbstractExtraction::extract()

### isNull

bool isNull(
std::size_t row
) const override;

See also: Poco::Data::AbstractExtraction::isNull()

### numOfColumnsHandled

std::size_t numOfColumnsHandled() const override;

See also: Poco::Data::AbstractExtraction::numOfColumnsHandled()

### numOfRowsAllowed

std::size_t numOfRowsAllowed() const override;

See also: Poco::Data::AbstractExtraction::numOfRowsAllowed()

### numOfRowsHandled

std::size_t numOfRowsHandled() const override;

See also: Poco::Data::AbstractExtraction::numOfRowsHandled()

### reset

virtual void reset() override;

See also: Poco::Data::AbstractExtraction::reset()

### result

const C & result() const;