30#include <IceUtil/Time.h>
47 template <
class Var,
class... Ts>
48 TimedVariant(
const Var& variant, std::chrono::duration<Ts...> duration) :
52 std::chrono::duration_cast<
std::chrono::microseconds>(duration).count()))
56 template <
class Var,
class... Ts>
57 TimedVariant(
const Var& variant, std::chrono::time_point<Ts...> timepoint) :
71 const IceUtil::Time& time,
72 typename std::enable_if_t<!(std::is_base_of_v<VariantDataClass, T> ||
73 std::is_pointer_v<T>)>::type* t = 0) :
107 Ice::Long
getTimestamp(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
110 Ice::ObjectPtr
ice_clone()
const override;
123 stream <<
"Null VariantPtr";
130extern template class ::IceInternal::Handle<::armarx::TimedVariant>;
Ice::Long getTimestamp(const Ice::Current &c=Ice::emptyCurrent) const override
Timestamp in micro seconds.
std::string getOutputValueOnly() const override
Returns the formatted content of the Variant as a string.
TimedVariant(const Var &variant, std::chrono::time_point< Ts... > timepoint)
void setTime(const IceUtil::Time time)
void setMicroseconds(Ice::Long microseconds)
TimedVariant(const T &var, const IceUtil::Time &time, typename std::enable_if_t<!(std::is_base_of_v< VariantDataClass, T >||std::is_pointer_v< T >)>::type *t=0)
Construct a TimedVariant from a non-VariantDataClass instance, e.g.
Ice::ObjectPtr ice_clone() const override
TimedVariant(char const var[], const IceUtil::Time &time)
Construct a TimedVariant from a string.
IceUtil::Time getTime() const
friend std::ostream & operator<<(std::ostream &stream, const TimedVariantPtr &rhs)
TimedVariant(const Var &variant, std::chrono::duration< Ts... > duration)
The Variant class is described here: Variants.
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< TimedVariant > TimedVariantPtr
IceInternal::Handle< Variant > VariantPtr