blob: 19016e9cc820afb81c25df4fb1e8854c5d5caa3b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef VIp1Hrkjsl2bQTTqbsZf9mqNsWY
#define VIp1Hrkjsl2bQTTqbsZf9mqNsWY
#include "pla_get.hpp"
#include "context.hpp"
template <typename Prop>
struct Property_Get {
template<typename PropComp, typename Context>
static inline typename Prop::type eval(PropComp &pc, Context context) __attribute__ ((pure));
template<typename PropComp, typename Context>
static inline typename Prop::type eval(PropComp &pc, Context context, Time t) __attribute__ ((pure));
};
template <typename Prop>
template<typename PropComp, typename Context>
inline typename Prop::type Property_Get<Prop>::eval(PropComp &pc, Context context) {
PLA_Get<Prop, Context> action(context);
return pc.call(action);
}
template <typename Prop>
template<typename PropComp, typename Context>
inline typename Prop::type Property_Get<Prop>::eval(PropComp &pc, Context context, Time t) {
PLA_Get<Prop, Context> action(t, context);
return pc.call(action);
}
#endif // VIp1Hrkjsl2bQTTqbsZf9mqNsWY
|