1#ifndef HEADER_VARIANT_HPP
2#define HEADER_VARIANT_HPP
4#include <vanetza/geonet/serialization.hpp>
5#include <vanetza/geonet/beacon_header.hpp>
6#include <vanetza/geonet/gbc_header.hpp>
7#include <vanetza/geonet/shb_header.hpp>
8#include <boost/variant/variant.hpp>
15typedef boost::variant<BeaconHeader, GeoBroadcastHeader, ShbHeader> HeaderVariant;
16typedef boost::variant<BeaconHeader&, GeoBroadcastHeader&, ShbHeader&> HeaderRefVariant;
17typedef boost::variant<const BeaconHeader&, const GeoBroadcastHeader&, const ShbHeader&> HeaderConstRefVariant;
25std::size_t get_length(
const HeaderVariant& header);
26std::size_t get_length(
const HeaderRefVariant& header);
27std::size_t get_length(
const HeaderConstRefVariant& header);