tables::ftable::fupdate

template <is_table,tuple_ext::is_tuple Gs>
requires ( std::tuple_size_v<Gs> > 0 )
struct ftable

Used to apply an aggregate or transformation to a group.

It is not recommended to construct an ftable directly, but to use table::fby. See Grouping for examples.

The implementation stores a map of row<pair<Gs,PGs>…​> to a vector-of-indices. The vector-of-indices are the indices for the rows that contain same values at column Gs.

Member types.

Member type Definition

ts_t

Tuple of lookup-types of original table.

table_t

Original table type.

gs_t

Tuple of group lookup-types.

pgs_t

Tuple of primitive-types matching gs_t.

ftable_t

ftable type.

g_row_t

row type for pair gs_t,pgs_t.

map_t

map of g_row_t to vector-of-indices.

Member functions

Constructors / Assignment

Member type Definition

Constructors

Constructos the ftable.

Assignment operator

Assigns values to a ftable.

Capacity

Member type Definition

n_groups

Returns number of groups.

Accessors

Member type Definition

m

Returns underlying map.

t

Returns original table.

Aggregate

Member type Definition

agg

Aggregates selected columns using selected aggregate function.

Transform

Member type Definition

fupdate

Apply transformation on selected columns using selected transformation function.