# `Monty.Frameworks.Models.Salience.Strategies.Vocus2.Pyramids.PyramidCombine`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/frameworks/models/salience/strategies/vocus2/pyramids/pyramid_combine.ex#L1)

How several pyramids become one.

Mirrors `tbp/monty/frameworks/models/salience/strategies/vocus2/pyramids.py::PyramidCombine`,
a `Protocol` in Monty so a config can name how its maps are combined. It is a
behaviour here: a combiner answers one pyramid from several of the same shape.

Monty's implementations — maximum and mean — are `combine_max/1` and
`combine_mean/1` in the module beside this one; they are plain functions that
match this shape rather than instances of the protocol.

# `t`

```elixir
@type t() :: struct()
```

# `call`

```elixir
@callback call(t(), [
  Monty.Frameworks.Models.Salience.Strategies.Vocus2.Pyramids.Pyramid.t()
]) ::
  Monty.Frameworks.Models.Salience.Strategies.Vocus2.Pyramids.Pyramid.t()
```

One pyramid, from `pyramids`, which all have the same shape.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
