Lines Matching refs:Impl
19 template <typename HalType, typename Impl, typename F> struct ThunkerBase;
24 * template <typename HalType, typename Impl, typename R, typename... Args>
25 * struct ThunkerBase<HalType, Impl, R(Args...)> {
26 * template <R (Impl::*MemFn)(Args...)>
28 * return (reinterpret_cast<Impl*>(in)->*MemFn)(args...);
33 template <typename HalType, typename Impl, typename R>
34 struct ThunkerBase<HalType, Impl, R()> {
35 template <R (Impl::*MemFn)()>
37 return (reinterpret_cast<Impl*>(in)->*MemFn)();
40 template <R (Impl::*MemFn)() const>
42 return (reinterpret_cast<const Impl*>(in)->*MemFn)();
46 template <typename HalType, typename Impl, typename R, typename T1>
47 struct ThunkerBase<HalType, Impl, R(T1)> {
48 template <R (Impl::*MemFn)(T1)>
50 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1);
53 template <R (Impl::*MemFn)(T1) const>
55 return (reinterpret_cast<const Impl*>(in)->*MemFn)(t1);
59 template <typename HalType, typename Impl, typename R, typename T1, typename T2>
60 struct ThunkerBase<HalType, Impl, R(T1, T2)> {
61 template <R (Impl::*MemFn)(T1, T2)>
63 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1, t2);
66 template <R (Impl::*MemFn)(T1, T2) const>
68 return (reinterpret_cast<const Impl*>(in)->*MemFn)(t1, t2);
72 template <typename HalType, typename Impl, typename R, typename T1,
74 struct ThunkerBase<HalType, Impl, R(T1, T2, T3)> {
75 template <R (Impl::*MemFn)(T1, T2, T3)>
77 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1, t2, t3);
80 template <R (Impl::*MemFn)(T1, T2, T3) const>
82 return (reinterpret_cast<const Impl*>(in)->*MemFn)(t1, t2, t3);
86 template <typename HalType, typename Impl, typename R, typename T1,
88 struct ThunkerBase<HalType, Impl, R(T1, T2, T3, T4)> {
89 template <R (Impl::*MemFn)(T1, T2, T3, T4)>
91 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1, t2, t3, t4);
94 template <R (Impl::*MemFn)(T1, T2, T3, T4) const>
96 return (reinterpret_cast<const Impl*>(in)->*MemFn)(t1, t2, t3, t4);
100 template <typename HalType, typename Impl, typename R, typename T1,
102 struct ThunkerBase<HalType, Impl, R(T1, T2, T3, T4, T5)> {
103 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5)>
105 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1, t2, t3, t4, t5);
108 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5) const>
110 return (reinterpret_cast<const Impl*>(in)->*MemFn)(t1, t2, t3, t4, t5);
114 template <typename HalType, typename Impl, typename R, typename T1,
116 struct ThunkerBase<HalType, Impl, R(T1, T2, T3, T4, T5, T6)> {
117 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5, T6)>
119 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1, t2, t3, t4, t5, t6);
122 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5, T6) const>
124 return (reinterpret_cast<const Impl*>(in)->*MemFn)(t1, t2, t3, t4, t5, t6);
128 template <typename HalType, typename Impl, typename R, typename T1,
131 struct ThunkerBase<HalType, Impl, R(T1, T2, T3, T4, T5, T6, T7)> {
132 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5, T6, T7)>
134 return (reinterpret_cast<Impl*>(in)->*MemFn)(t1, t2, t3, t4, t5, t6, t7);
137 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5, T6, T7) const>
140 return (reinterpret_cast<const Impl*>(in)->*MemFn)(
145 template <typename HalType, typename Impl, typename R, typename T1,
148 struct ThunkerBase<HalType, Impl, R(T1, T2, T3, T4, T5, T6, T7, T8)> {
149 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5, T6, T7, T8)>
152 return (reinterpret_cast<Impl*>(in)->*MemFn)(
156 template <R (Impl::*MemFn)(T1, T2, T3, T4, T5, T6, T7, T8) const>
159 return (reinterpret_cast<const Impl*>(in)->*MemFn)(