# Collection Class

> Allows for manipulation of PDF collections, or portfolios.

- Product: Adobe PDF Library 21
- Language: Modern C++
- Version: 21.4.0
- HTML page: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Collection
- Version index: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms.txt

```cpp
class Collection
```

**Namespace:** `datalogics_interface`

## Description

Allows for manipulation of PDF collections, or portfolios.

The class illustrates how to process a collection's schema. It also describes sorting of a portfolio.

**Referenced by:** [`Document`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Document.md)

**Uses types:** [`CollectionSchema`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/CollectionSchema.md), [`CollectionSortItem`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/CollectionSortItem.md), [`CollectionSplitType`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/CollectionSplitType.md), [`CollectionViewType`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/CollectionViewType.md)

## Constructors

### Collection

```cpp
datalogics_interface::Collection::Collection(Collection &&) noexcept
```

*constructor*

**Parameters**

- (unnamed) ([`Collection &&`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Collection.md))

### ~Collection

```cpp
datalogics_interface::Collection::~Collection()
```

*destructor*

## Methods

### change_view_mode

```cpp
void datalogics_interface::Collection::change_view_mode(CollectionViewType view, CollectionSplitType split)
```

**Parameters**

- `view` ([`CollectionViewType`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/CollectionViewType.md)): one of the members of CollectionViewMode enum.
- `split` ([`CollectionSplitType`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/enum/CollectionSplitType.md)): enum of split mode (selector)

**Returns:** `void`

SetCollectionView sets view mode value to the Collection.

### get_schema

```cpp
CollectionSchema datalogics_interface::Collection::get_schema() const
```

**Returns:** [`CollectionSchema`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/CollectionSchema.md)

Schema object.

GetSchema allows to obtain Schema object for current Collection.

The Schema object does not have constructor. Only Collection is able to create Schema.

### get_sort

```cpp
std::vector< CollectionSortItem > datalogics_interface::Collection::get_sort() const
```

**Returns:** [`std::vector< CollectionSortItem >`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/CollectionSortItem.md)

the list of CollectionSortItem, which contains field/fields name to sort Collection by and sort order.

GetSort gets sort parameters for the Collection.

### operator=

```cpp
Collection & datalogics_interface::Collection::operator=(Collection &&) noexcept
```

**Parameters**

- (unnamed) ([`Collection &&`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Collection.md))

**Returns:** [`Collection &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/Collection.md)

### set_sort

```cpp
void datalogics_interface::Collection::set_sort(const std::vector< CollectionSortItem > &sort_items)
```

**Parameters**

- `sort_items` ([`const std::vector< CollectionSortItem > &`](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/class/CollectionSortItem.md)): the list of CollectionSortItem.

**Returns:** `void`

SetSort allows to set field/fields to sort by as well as sort order (ascending or descending).
