27 #ifndef PDCOM5_VARIABLE_H 28 #define PDCOM5_VARIABLE_H 30 #include "SizeTypeInfo.h" 32 #include "visibility.h" 58 friend class impl::Variable;
60 explicit Variable(std::shared_ptr<const impl::Variable> pimpl) :
61 pimpl(std::move(pimpl))
85 typename std::enable_if<!std::is_arithmetic<T>::value,
bool>::type
86 setValue(T
const &data,
size_t index = 0)
const 91 index, data.size() - index);
105 template <
typename T>
106 typename std::enable_if<std::is_arithmetic<T>::value,
bool>::type
127 setValue(
const void *src, TypeInfo::DataType src_type,
size_t idx,
size_t n)
134 const TypeInfo &getTypeInfo() const noexcept;
139 const
SizeInfo &getSizeInfo() const noexcept;
144 std::
string getPath() const;
149 std::
string getName() const;
154 std::
string getAlias() const;
159 int getTaskId() const;
168 bool empty() const noexcept {
return !(pimpl); }
171 std::shared_ptr<const impl::Variable> pimpl;
176 #endif // PDCOM5_VARIABLE_H
Size of a Variable.
Definition: SizeTypeInfo.h:62
Type of a Variable.
Definition: SizeTypeInfo.h:33
std::enable_if< std::is_arithmetic< T >::value, bool >::type setValue(T const &data, size_t index=0) const
Write to a variable.
Definition: Variable.h:107
PdCom Variable interface.
Definition: Variable.h:56
std::enable_if<!std::is_arithmetic< T >::value, bool >::type setValue(T const &data, size_t index=0) const
Write to a variable.
Definition: Variable.h:86
library version string as "major.minor.patch"
Definition: details.h:37