# SortFilterProxyModel QML Module

SortFilterProxyModel is an implementation of QSortFilterProxyModel conveniently exposed for QML.

SortFilterProxyModel | Filters and sorts data coming from a source QAbstractItemModel

## Filters

AllOf | Filter container accepting rows accepted by all its child filters
AnyOf | Filter container accepting rows accepted by at least one of its child filters
ExpressionFilter | Filters row with a custom filtering
Filter | Base type for the SortFilterProxyModel filters
IndexFilter | Filters rows based on their source index
RangeFilter | Filters rows between boundary values
RegExpFilter | Filters rows matching a regular expression
RoleFilter | Base type for filters based on a source model role
ValueFilter | Filters rows matching exactly a value

### Related attached types

FilterContainer | Abstract interface for types containing Filters

## Sorters

ExpressionSorter | Sorts row with a custom javascript expression
FilterSorter | Sorts rows based on if they match filters
RoleSorter | Sorts rows based on a source model role
Sorter | Base type for the SortFilterProxyModel sorters
StringSorter | Sorts rows based on a source model string role

### Related attached types

SorterContainer | Abstract interface for types containing Sorters

## ProxyRoles

ExpressionRole | A custom role computed from a javascript expression
FilterRole | A role resolving to true for rows matching all its filters
JoinRole | Role made from concatenating other roles
ProxyRole | Base type for the SortFilterProxyModel proxy roles
RegExpRole | A ProxyRole extracting data from a source role via a regular expression
SingleRole | Base type for the SortFilterProxyModel proxy roles defining a single role
SwitchRole | A role using Filter to conditionnaly compute its data