mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 00:36:47 +02:00
Exploring varying with names
This commit is contained in:
parent
259a97c43a
commit
a5d1c4833e
1 changed files with 19 additions and 3 deletions
|
@ -17,6 +17,15 @@
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
namespace task {
|
namespace task {
|
||||||
|
class Varying;
|
||||||
|
|
||||||
|
template <class T> Varying varyingGetSub(const T& data, uint8_t index) {
|
||||||
|
return Varying();
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class T> uint8_t varyingGetLength(const T& data) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// A varying piece of data, to be used as Job/Task I/O
|
// A varying piece of data, to be used as Job/Task I/O
|
||||||
class Varying {
|
class Varying {
|
||||||
|
@ -66,10 +75,11 @@ protected:
|
||||||
virtual ~Model() = default;
|
virtual ~Model() = default;
|
||||||
|
|
||||||
virtual Varying operator[] (uint8_t index) const override {
|
virtual Varying operator[] (uint8_t index) const override {
|
||||||
Varying var;
|
return varyingGetSub<T>(_data, index);
|
||||||
return var;
|
}
|
||||||
|
virtual uint8_t length() const override {
|
||||||
|
return varyingGetLength<T>(_data);
|
||||||
}
|
}
|
||||||
virtual uint8_t length() const override { return 0; }
|
|
||||||
|
|
||||||
Data _data;
|
Data _data;
|
||||||
};
|
};
|
||||||
|
@ -106,6 +116,12 @@ public:
|
||||||
Varying asVarying() const { return Varying((*this)); }
|
Varying asVarying() const { return Varying((*this)); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <typename T0, typename T1> Varying varyingGetSub(const VaryingSet2<T0, T1>& dat, uint8_t index) {
|
||||||
|
return data[index];
|
||||||
|
}
|
||||||
|
template <typename T0, typename T1> uint8_t varyingGetLength(const VaryingSet2<T0, T1>& data) {
|
||||||
|
return data.length();
|
||||||
|
}
|
||||||
|
|
||||||
template <class T0, class T1, class T2>
|
template <class T0, class T1, class T2>
|
||||||
class VaryingSet3 : public std::tuple<Varying, Varying,Varying>{
|
class VaryingSet3 : public std::tuple<Varying, Varying,Varying>{
|
||||||
|
|
Loading…
Reference in a new issue