27 requires std::is_same_v<T, int32_t> || std::is_same_v<T, int64_t> || std::is_same_v<T, double> ||
28 std::is_same_v<T, bool> || std::is_same_v<T, std::string> ||
29 std::is_same_v<T, std::vector<uint8_t>> ||
30 std::is_same_v<T, std::chrono::system_clock::time_point> ||
31 std::is_same_v<T, std::vector<int32_t>> || std::is_same_v<T, std::vector<int64_t>> ||
32 std::is_same_v<T, std::vector<double>> || std::is_same_v<T, std::vector<bool>> ||
33 std::is_same_v<T, std::vector<std::string>> ||
34 std::is_same_v<T, std::vector<std::vector<uint8_t>>> ||
35 std::is_same_v<T, std::vector<std::chrono::system_clock::time_point>>;
45 template <AstarteDataAllowedType T>
52 template <AstarteDataAllowedType T>
53 auto into() const -> const T& {
54 return std::get<T>(data_);
60 template <AstarteDataAllowedType T>
62 if (std::holds_alternative<T>(data_)) {
63 return std::get<T>(data_);
79 -> const std::variant<int32_t, int64_t,
double,
bool, std::
string, std::vector<uint8_t>,
80 std::chrono::system_clock::time_point, std::vector<int32_t>,
81 std::vector<int64_t>, std::vector<
double>, std::vector<
bool>,
82 std::vector<std::
string>, std::vector<std::vector<uint8_t>>,
83 std::vector<std::chrono::system_clock::time_point>>&;
89 [[nodiscard]] auto operator==(const
AstarteData& other) const ->
bool;
95 [[nodiscard]] auto operator!=(const
AstarteData& other) const ->
bool;
98 std::variant<int32_t, int64_t,
double,
bool, std::
string, std::vector<uint8_t>,
99 std::chrono::system_clock::time_point, std::vector<int32_t>, std::vector<int64_t>,
100 std::vector<
double>, std::vector<
bool>, std::vector<std::
string>,
101 std::vector<std::vector<uint8_t>>,
102 std::vector<std::chrono::system_clock::time_point>>