|
Chops Net IP
|
net_entity class and related functionality.
More...
#include <memory>#include <cstddef>#include <utility>#include <variant>#include <type_traits>#include <system_error>#include <string_view>#include "nonstd/expected.hpp"#include "net_ip/net_ip_error.hpp"#include "net_ip/detail/tcp_acceptor.hpp"#include "net_ip/detail/tcp_connector.hpp"#include "net_ip/detail/udp_entity_io.hpp"#include "net_ip/detail/wp_access.hpp"#include "net_ip/io_type_decls.hpp"

Go to the source code of this file.
Classes | |
| struct | chops::net::detail::overloaded< Ts > |
| class | chops::net::net_entity |
The net_entity class provides the primary application interface into the TCP acceptor, TCP connector, and UDP entity functionality. More... | |
Functions | |
| bool | chops::net::operator== (const net_entity &lhs, const net_entity &rhs) |
Compare two net_entity objects for equality. | |
| bool | chops::net::operator< (const net_entity &lhs, const net_entity &rhs) |
Compare two net_entity objects for ordering purposes. | |
net_entity class and related functionality.
Copyright (c) 2017-2025 by Cliff Green
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
inlinenoexcept |
Compare two net_entity objects for ordering purposes.
Arbitrarily, a UDP network entity compares less than a TCP acceptor which compares less than a TCP connector. If both network entities are the same then the std::shared_ptr ordering is returned.
All invalid net_entity objects (of the same network entity type) are less than valid ones. If both net_entity objects are invalid and the same network entity type, they are considered equal, so operator< returns false.
|
inlinenoexcept |
Compare two net_entity objects for equality.
If the @ net_entity objects are not both pointing to the same type of network entity (TCP connector, TCP acceptor, etc), then they are not equal. If both are the same type of network entity, then both are checked to be valid (i.e. the internal weak_ptr is valid). If both are valid, then a std::shared_ptr comparison is made.
If both net_entity objects are invalid (and both same type of network entity), true is returned (this implies that all invalid net_entity objects are equivalent). If one is valid and the other invalid, false is returned.