NetAddr.PrefixSet (NetAddr v1.3.1) View Source
Link to this section Summary
Functions
Delete netaddr
from prefix_set
.
Create an empty prefix set.
Create a prefix set containing the NetAddrs in list
.
Insert netaddr
into prefix_set
.
Link to this section Types
Specs
t() :: %NetAddr.PrefixSet{prefixes: [NetAddr.t()]}
Link to this section Functions
Specs
Delete netaddr
from prefix_set
.
Examples
iex> use NetAddr
iex> require NetAddr.PrefixSet, as: PrefixSet
iex> p = PrefixSet.new([~p"192.0.2.0/24"])
...> |> PrefixSet.delete(~p"192.0.2.96/28")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
%NetAddr.IPv4{address: <<192,0,2,64>>, length: 27},
%NetAddr.IPv4{address: <<192,0,2,112>>, length: 28},
%NetAddr.IPv4{address: <<192,0,2,128>>, length: 25}
]
}
iex> p = p
...> |> PrefixSet.delete(~p"192.0.2.64/26")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
%NetAddr.IPv4{address: <<192,0,2,128>>, length: 25}
]
}
iex> p
...> |> PrefixSet.delete(~p"192.0.2.128/25")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
]
}
Specs
new() :: t()
Create an empty prefix set.
Examples
iex> NetAddr.PrefixSet.new
%NetAddr.PrefixSet{prefixes: []}
Specs
Create a prefix set containing the NetAddrs in list
.
Examples
iex> use NetAddr
iex> require NetAddr.PrefixSet, as: PrefixSet
iex> PrefixSet.new([~p"192.0.2.0/24", ~p"198.51.100.0/24"])
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 24},
%NetAddr.IPv4{address: <<198,51,100,0>>, length: 24}
]
}
Specs
Insert netaddr
into prefix_set
.
Examples
iex> use NetAddr
iex> require NetAddr.PrefixSet, as: PrefixSet
iex>
iex> p = PrefixSet.new([~p"192.0.2.0/26"])
...> |> PrefixSet.put(~p"192.0.2.0/26")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 26}
]
}
iex> p = p
...> |> PrefixSet.put(~p"192.0.2.96/27")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
%NetAddr.IPv4{address: <<192,0,2,96>>, length: 27}
]
}
iex> p = p
...> |> PrefixSet.put(~p"192.0.2.64/27")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 25}
]
}
iex> p = p
...> |> PrefixSet.put(~p"192.0.2.0/24")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 24}
]
}
iex> p
...> |> PrefixSet.put(~p"192.0.2.0/28")
%NetAddr.PrefixSet{prefixes: [
%NetAddr.IPv4{address: <<192,0,2,0>>, length: 24}
]
}