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 <vanetza/geonet/tsb_header.hpp>
9#include <boost/variant/variant.hpp>
16typedef boost::variant<BeaconHeader, GeoBroadcastHeader, ShbHeader, TsbHeader> HeaderVariant;
17typedef boost::variant<BeaconHeader&, GeoBroadcastHeader&, ShbHeader&, TsbHeader&> HeaderRefVariant;
18typedef boost::variant<const BeaconHeader&, const GeoBroadcastHeader&, const ShbHeader&, const TsbHeader&> HeaderConstRefVariant;
26std::size_t get_length(
const HeaderVariant& header);
27std::size_t get_length(
const HeaderRefVariant& header);
28std::size_t get_length(
const HeaderConstRefVariant& header);