7 #if !defined(MQTT_VARIANT_HPP)
8 #define MQTT_VARIANT_HPP
13 #if defined(MQTT_STD_VARIANT)
21 template<
typename T,
typename U>
24 return std::get<T>(std::forward<U>(arg));
39 #include <boost/variant.hpp>
40 #include <boost/variant/get.hpp>
41 #include <boost/variant/apply_visitor.hpp>
47 template<
typename T,
typename U>
50 return boost::get<T>(std::forward<U>(arg));
59 template <
typename Visitor,
typename... Variants>
60 constexpr decltype(
auto)
visit(Visitor&& vis, Variants&&... vars)
62 return boost::apply_visitor(std::forward<Visitor>(vis), std::forward<Variants>(vars)...);
constexpr decltype(auto) visit(Visitor &&vis, Variants &&... vars)
Definition: variant.hpp:60
decltype(auto) variant_get(U &&arg)
Definition: variant.hpp:48
decltype(auto) variant_idx(T const &arg)
Definition: variant.hpp:54