/* * Copyright (c) 2022, Lucas Chollet * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include struct addrinfo; namespace Core::System { class AddressInfoVector { AK_MAKE_NONCOPYABLE(AddressInfoVector); AK_MAKE_DEFAULT_MOVABLE(AddressInfoVector); public: AddressInfoVector(Vector addresses, struct addrinfo* ptr); ~AddressInfoVector(); ReadonlySpan addresses() const { return m_addresses; } private: struct AddrInfoDeleter { void operator()(struct addrinfo*); }; Vector m_addresses; OwnPtr m_ptr; }; }