Spicy
address.h
1 // Copyright (c) 2020-2021 by the Zeek Project. See LICENSE for details.
2 
3 #pragma once
4 
5 #include <hilti/ast/builder/type.h>
6 #include <hilti/ast/operators/common.h>
7 #include <hilti/ast/types/address.h>
8 
9 namespace hilti {
10 namespace operator_ {
11 
12 STANDARD_OPERATOR_2(address, Equal, type::Bool(), type::Address(), type::Address(), "Compares two address values.")
13 STANDARD_OPERATOR_2(address, Unequal, type::Bool(), type::Address(), type::Address(), "Compares two address values.")
14 
15 BEGIN_METHOD(address, Family)
16  auto signature() const {
17  return Signature{.self = type::Address(),
18  .result = builder::typeByID("hilti::AddressFamily"),
19  .id = "family",
20  .args = {},
21  .doc = R"(
22 Returns the protocol family of the address, which can be IPv4 or IPv6.
23 )"};
24  }
25 END_METHOD
26 
27 } // namespace operator_
28 } // namespace hilti