13 #ifndef CORE_ARRAYVALUE_H_
14 #define CORE_ARRAYVALUE_H_
16 #include "../Core/Value.h"
25 ArrayValue(
const std::string name,
const uint32_t size,
const T defaultValue);
26 ArrayValue(
const std::string name,
const uint32_t size,
const T* defaultArray);
28 ArrayValue(
const std::string name,
owned_mutex * actuatorMutex,
const uint32_t size,
const T defaultValue);
29 ArrayValue(
const std::string name,
owned_mutex * actuatorMutex,
const uint32_t size,
const T* defaultArray);
32 template<
typename U = T>
33 ArrayValue(
const std::string name,
const uint32_t size,
typename std::enable_if<!std::is_same<U, int>::value,
const int>::type defaultValue) :
34 ArrayValue(name, size, static_cast<T>(defaultValue))
39 template<
typename U = T>
40 ArrayValue(
const std::string name,
owned_mutex * actuatorMutex,
const uint32_t size,
typename std::enable_if<!std::is_same<U, int>::value,
const int>::type defaultValue) :
41 ArrayValue(name, size, static_cast<T>(defaultValue))
48 virtual NativeType getNativeType()
override;
57 virtual uint8_t as_uint8_t()
override;
58 virtual int8_t as_int8_t()
override;
59 virtual uint16_t as_uint16_t()
override;
60 virtual int16_t as_int16_t()
override;
61 virtual uint32_t as_uint32_t()
override;
62 virtual int32_t as_int32_t()
override;
63 virtual uint64_t as_uint64_t()
override;
64 virtual int64_t as_int64_t()
override;
65 virtual float as_float()
override;
66 virtual double as_double()
override;
67 virtual std::string as_string()
override;
69 virtual uint8_t as_uint8_t(uint32_t index)
override;
70 virtual int8_t as_int8_t(uint32_t index)
override;
71 virtual uint16_t as_uint16_t(uint32_t index)
override;
72 virtual int16_t as_int16_t(uint32_t index)
override;
73 virtual uint32_t as_uint32_t(uint32_t index)
override;
74 virtual int32_t as_int32_t(uint32_t index)
override;
75 virtual uint64_t as_uint64_t(uint32_t index)
override;
76 virtual int64_t as_int64_t(uint32_t index)
override;
77 virtual float as_float(uint32_t index)
override;
78 virtual double as_double(uint32_t index)
override;
80 virtual void set(
const uint8_t val)
override;
81 virtual void set(
const int8_t val)
override;
82 virtual void set(
const uint16_t val)
override;
83 virtual void set(
const int16_t val)
override;
84 virtual void set(
const uint32_t val)
override;
85 virtual void set(
const int32_t val)
override;
86 virtual void set(
const uint64_t val)
override;
87 virtual void set(
const int64_t val)
override;
88 virtual void set(
const float val)
override;
89 virtual void set(
const double val)
override;
90 virtual void set(
const Value& val)
override;
92 virtual void set(
const uint8_t * vals,
const uint32_t size)
override;
93 virtual void set(
const int8_t * vals,
const uint32_t size)
override;
94 virtual void set(
const uint16_t * vals,
const uint32_t size)
override;
95 virtual void set(
const int16_t * vals,
const uint32_t size)
override;
96 virtual void set(
const uint32_t * vals,
const uint32_t size)
override;
97 virtual void set(
const int32_t * vals,
const uint32_t size)
override;
98 virtual void set(
const uint64_t * vals,
const uint32_t size)
override;
99 virtual void set(
const int64_t * vals,
const uint32_t size)
override;
100 virtual void set(
const float * vals,
const uint32_t size)
override;
101 virtual void set(
const double * vals,
const uint32_t size)
override;
103 virtual void set(
const std::vector<uint8_t>& vals)
override;
104 virtual void set(
const std::vector<int8_t>& vals)
override;
105 virtual void set(
const std::vector<uint16_t>& vals)
override;
106 virtual void set(
const std::vector<int16_t>& vals)
override;
107 virtual void set(
const std::vector<uint32_t>& vals)
override;
108 virtual void set(
const std::vector<int32_t>& vals)
override;
109 virtual void set(
const std::vector<uint64_t>& vals)
override;
110 virtual void set(
const std::vector<int64_t>& vals)
override;
111 virtual void set(
const std::vector<float>& vals)
override;
112 virtual void set(
const std::vector<double>& vals)
override;
114 virtual bool isValid()
const override;
115 virtual bool isArray()
const override;
117 virtual Scalar& getMin()
override;
118 virtual Scalar& getMax()
override;
120 virtual uint32_t getSize()
const override;
121 virtual size_t getElementSize()
const override;
122 virtual void* getBuffer()
override;
123 virtual T* getNativeBuffer();
124 virtual void setSize(uint32_t size);
125 virtual void setNative(T* data, uint32_t size);
126 virtual T getNative(uint32_t
id);
127 virtual T operator[](uint32_t
id);
133 virtual void copyTo(
Parameter* parm)
const override;
Definition: ArrayValue.h:21
A mutex with the concept of 'ownership'.
Definition: owned_mutex.h:27