mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
Add VaryingSet1 to Task aliases
This commit is contained in:
parent
a3c870ed90
commit
25e3d49941
2 changed files with 21 additions and 0 deletions
|
@ -411,6 +411,7 @@ protected:
|
|||
using Task = task::Task<ContextType, TimeProfiler>; \
|
||||
using Engine = task::Engine<ContextType, TimeProfiler>; \
|
||||
using Varying = task::Varying; \
|
||||
template < typename T0 > using VaryingSet1 = task::VaryingSet1<T0>; \
|
||||
template < typename T0, typename T1 > using VaryingSet2 = task::VaryingSet2<T0, T1>; \
|
||||
template < typename T0, typename T1, typename T2 > using VaryingSet3 = task::VaryingSet3<T0, T1, T2>; \
|
||||
template < typename T0, typename T1, typename T2, typename T3 > using VaryingSet4 = task::VaryingSet4<T0, T1, T2, T3>; \
|
||||
|
|
|
@ -69,6 +69,26 @@ protected:
|
|||
std::shared_ptr<Concept> _concept;
|
||||
};
|
||||
|
||||
template < typename T0 >
|
||||
class VaryingSet1 : public std::tuple<Varying> {
|
||||
public:
|
||||
using Parent = std::tuple<Varying>;
|
||||
|
||||
VaryingSet1() : Parent(Varying(T0())) {}
|
||||
VaryingSet1(const VaryingSet1& src) : Parent(std::get<0>(src)) {}
|
||||
VaryingSet1(const Varying& first) : Parent(first) {}
|
||||
|
||||
const T0& get0() const { return std::get<0>((*this)).template get<T0>(); }
|
||||
T0& edit0() { return std::get<0>((*this)).template edit<T0>(); }
|
||||
|
||||
virtual Varying operator[] (uint8_t index) const {
|
||||
return std::get<0>((*this));
|
||||
}
|
||||
virtual uint8_t length() const { return 1; }
|
||||
|
||||
Varying asVarying() const { return Varying((*this)); }
|
||||
};
|
||||
|
||||
using VaryingPairBase = std::pair<Varying, Varying>;
|
||||
template < typename T0, typename T1 >
|
||||
class VaryingSet2 : public VaryingPairBase {
|
||||
|
|
Loading…
Reference in a new issue