23 #ifndef VARIANT_TOPIC_TOOLS_BUILTIN_VARIANT_H 24 #define VARIANT_TOPIC_TOOLS_BUILTIN_VARIANT_H 26 #include <boost/type_traits.hpp> 60 using Variant::operator=;
85 public Variant::ValueT<typename type_traits::BuiltinType<T>::ValueType>,
140 void read(std::istream& stream);
144 void write(std::ostream& stream)
const;
163 typename boost::enable_if<boost::type_traits::ice_or<boost::is_base_of<
164 ros::Duration, T>::value, boost::is_base_of<ros::Time, T>::value> >::
173 IsNumeric>::
type* = 0,
typename boost::disable_if<boost::type_traits::
174 ice_or<boost::is_base_of<ros::Duration, T>::value, boost::is_base_of<
182 IsNumeric>::
type* = 0);
187 template <
typename T>
static bool isEqual(
const typename type_traits::
188 BuiltinType<T>::ValueType& lhs,
const typename type_traits::
189 BuiltinType<T>::ValueType& rhs,
typename boost::enable_if<
boost::
196 template <
typename T>
static bool isEqual(
const typename type_traits::
197 BuiltinType<T>::ValueType& lhs,
const typename type_traits::
198 BuiltinType<T>::ValueType& rhs,
typename boost::disable_if<
boost::
205 template <
typename T>
static void read(std::istream& stream,
207 boost::enable_if<boost::is_same<T, bool> >::
type* = 0);
212 template <
typename T>
static void read(std::istream& stream,
214 boost::disable_if<boost::is_same<T, bool> >::
type* = 0,
typename 215 boost::enable_if<boost::has_right_shift<std::istream,
typename 221 template <
typename T>
static void read(std::istream& stream,
223 boost::disable_if<boost::is_same<T, bool> >::
type* = 0,
typename 224 boost::disable_if<boost::has_right_shift<std::istream,
typename 230 template <
typename T>
static void write(std::ostream& stream,
const 232 boost::enable_if<boost::is_same<T, bool> >::
type* = 0);
237 template <
typename T>
static void write(std::ostream& stream,
const 239 boost::disable_if<boost::is_same<T, bool> >::
type* = 0,
typename 240 boost::enable_if<boost::has_left_shift<std::ostream,
const typename 246 template <
typename T>
static void write(std::ostream& stream,
const 248 boost::disable_if<boost::is_same<T, bool> >::
type* = 0,
typename 249 boost::disable_if<boost::has_left_shift<std::ostream,
const typename 254 #include <variant_topic_tools/BuiltinVariant.tpp>
Header file providing the Variant class interface.
Header file providing the built-in type traits.
Header file providing the Pointer class interface.