# Poco::Data

# template < class T >

# class Extraction

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

## Description

Concrete Data Type specific extraction of values from a query result set.

## Inheritance

Direct Base Classes: AbstractExtraction

All Base Classes: AbstractExtraction

## Member Summary

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

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

### Ptr

using Ptr = SharedPtr < Type >;

### Type

using Type = Extraction < ValType >;

### ValPtr

using ValPtr = SharedPtr < ValType >;

### ValType

using ValType = T;

## Constructors

### Extraction

Extraction(
T & result,
const Position & pos = Position (0)
);

Creates an Extraction object at specified position. Uses an empty object T as default value.

### Extraction

Extraction(
T & result,
const T & def,
const Position & pos = Position (0)
);

Creates an Extraction object at specified position. Uses the provided def object as default value.

## Destructor

### ~Extraction

~Extraction() override = default;

Destroys the Extraction object.

## Member Functions

### canExtract

bool canExtract() const override;

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

### createPreparation

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

### extract

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

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

### isNull

bool isNull(
std::size_t = 0
) const override;

### 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

void reset() override;

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