Radix.reduce
You're seeing just the function
reduce
, go back to Radix module for more information.
Specs
Invokes fun
for each key,value-pair in the radix tree
with the accumulator.
The initial value of the accumulator is acc
. The function is invoked for
each key,value-pair in the radix tree with the accumulator in a depth-first
fashion. The result returned by the function is used as the accumulator for
the next iteration. The function returns the last accumulator.
fun
's signature is (key/0
, value/0
, acc/0
) -> acc/0
.
Example
iex> t = new([
...> {<<1, 1, 1, 0::1>>, "1.1.1.0/25"},
...> {<<1, 1, 1, 1::1>>, "1.1.1.128/25"},
...> {<<1, 1, 1>>, "1.1.1.0/24"},
...> {<<3>>, "3.0.0.0/8"},
...> ])
iex>
iex> # get values
iex>
iex> f = fn _key, value, acc -> [value | acc] end
iex> reduce(t, [], f) |> Enum.reverse()
["1.1.1.0/25", "1.1.1.0/24", "1.1.1.128/25", "3.0.0.0/8"]