deushiro

typeat

Dec 7th, 2020
574
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.39 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "typelist.h"
  4.  
  5. template<typename TList, unsigned int index>
  6. struct TypeAt;
  7.  
  8. template<typename Head, typename Tail>
  9. struct TypeAt<TypeList<Head,Tail>, 0>{
  10.     typedef Head TargetType;
  11. };
  12.  
  13. template<typename Head, typename Tail, unsigned int index>
  14. struct TypeAt<TypeList<Head,Tail>, index>{
  15.     typedef typename TypeAt<Tail, index - 1>::TargetType TargetType;
  16. };
Advertisement
Add Comment
Please, Sign In to add comment