3#include "telnetpp/command.hpp"
4#include "telnetpp/core.hpp"
5#include "telnetpp/negotiation.hpp"
6#include "telnetpp/subnegotiation.hpp"
19using element = std::variant<bytes, negotiation, subnegotiation, command>;
24constexpr bool operator==(
element const &lhs,
element const &rhs)
noexcept
26 auto const visitor = [&rhs](
auto const &_lhs)
noexcept {
27 using T = std::decay_t<
decltype(_lhs)>;
28 if constexpr (std::is_same_v<T, bytes>)
30 return telnetpp::bytes_equal(_lhs, std::get<bytes>(rhs));
34 return _lhs == std::get<T>(rhs);
38 return lhs.index() == rhs.index() ? std::visit(visitor, lhs) : false;
44using elements = std::span<element const>;
A common type that can contain any Telnet operation, such as a command, negotiation,...