All operators known from C are available, with the following exceptions:
? :
operator
&
, ->
, etc.)
/
acts a mask operator (see below) when the left operand is an
IPv4 or IPv6 address, e.g. 1.2.3.4/8
, 1.2.3.4:8
, and
1.0.0.0
are all equivalent.
The following new operators have been added:
Note that there is a syntactical ambiguity between the zero IPv6
address (::
) and this form of the mask operator. It is
therefore recommended to always put a space between the two colons
if using the mask operator.
Operator precedence is exactly as in C. In order to leave the precedence of C operators undisturbed, the mask operator and unit qualifiers have been given the highest precedence, while host, host4, host6, and precond can be used like functions.