PhotonVision C++ dev-v2025.0.0-beta-8-2-gbd1c5c03
Loading...
Searching...
No Matches
photon::PhotonStructSerializable Concept Reference

#include <photon/dataflow/structures/Packet.h>

Concept definition

template<typename T>
concept photon::PhotonStructSerializable = requires(Packet& packet, const T& value) {
typename SerdeType<typename std::remove_cvref_t<T>>;
{
SerdeType<typename std::remove_cvref_t<T>>::GetSchemaHash()
} -> std::convertible_to<std::string_view>;
{
} -> std::convertible_to<std::string_view>;
{
SerdeType<typename std::remove_cvref_t<T>>::Unpack(packet)
} -> std::same_as<typename std::remove_cvref_t<T>>;
{
SerdeType<typename std::remove_cvref_t<T>>::Pack(packet, value)
} -> std::same_as<void>;
}
Definition Packet.h:42
Definition Packet.h:39