RavEngine
Loading...
Searching...
No Matches
PolymorphicIndirection.hpp
1#pragma once
2
3namespace RavEngine {
4
5template<typename T, typename PolymorphicIndirection_t>
7 using type = T;
9
10 inline T& operator[](uint32_t idx) const{
11 return *items.elts[idx].template Get<T>(items.owner);
12 }
13
14 inline T& at(uint32_t idx) const{
15 return *items.elts.at(idx).template Get<T>(items.owner);
16 }
17
18 inline auto size() const{
19 return items.elts.size();
20 }
21
22 inline auto begin(){
23 return items.elts.begin();
24 }
25
26 inline auto end(){
27 return items.elts.end();
28 }
29
30 inline auto begin() const{
31 return items.elts.begin();
32 }
33
34 inline auto end() const{
35 return items.elts.end();
36 }
37
38 template<typename BaseIncludingArgument>
39 inline auto HandleFor(int idx){
40 return items.template HandleFor<BaseIncludingArgument>(idx);
41 }
42 };
43}
Definition concurrentqueue.h:747
Definition Animation.hpp:6
Definition PolymorphicIndirection.hpp:6