|
mal-packet-weaver
C++20 packet serialization/deserialization library.
|
#include "../common.hpp"#include <cereal/archives/portable_binary.hpp>#include <cereal/types/map.hpp>#include <cereal/types/vector.hpp>#include <cereal/types/string.hpp>Go to the source code of this file.
Classes | |
| class | mal_packet_weaver::Packet |
| Base class for all packets. More... | |
| class | mal_packet_weaver::DerivedPacket< PacketType > |
| A templated class representing a derived packet from the base Packet class. More... | |
Namespaces | |
| namespace | mal_packet_weaver |
| This is the main namespace for the Mal Packet Weaver library. | |
Concepts | |
| concept | mal_packet_weaver::IsPacket |
| Concept to check if a given type satisfies the requirements of being a packet. | |
Typedefs | |
| using | mal_packet_weaver::PacketSubsystemID = uint16_t |
| Type alias for packet subsystem IDs. | |
| using | mal_packet_weaver::PacketID = uint16_t |
| Type alias for packet IDs. | |
| using | mal_packet_weaver::UniquePacketID = uint32_t |
| Unique identifier for a packet, combining subsystem and packet IDs. | |
| using | mal_packet_weaver::PacketDeserializeFunc = std::function<std::unique_ptr<Packet>(const ByteView)> |
| Type alias for packet deserialization function. | |
Functions | |
| constexpr uint32_t | mal_packet_weaver::PacketSubsystemIDToUint32 (PacketSubsystemID subsystem_type) noexcept |
| Convert a PacketSubsystemID to a uint32_t value. | |
| constexpr PacketSubsystemID | mal_packet_weaver::UniquePacketIDToPacketSubsystemID (UniquePacketID subsystem_type) noexcept |
| Extract PacketSubsystemID from a UniquePacketID. | |
| constexpr PacketID | mal_packet_weaver::UniquePacketIDToPacketID (UniquePacketID subsystem_type) noexcept |
| Extract PacketID from a UniquePacketID. | |
| constexpr UniquePacketID | mal_packet_weaver::CreatePacketID (PacketSubsystemID subsystem_id, PacketID packet_id) noexcept |
| Create a UniquePacketID from subsystem and packet IDs. | |