Advertisement
deushiro

append

Dec 7th, 2020
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "typelist.h"
  4.  
  5. template<typename TList, typename NewType>
  6. struct Append;
  7.  
  8. template <>
  9. struct Append<NullType,NullType>{
  10.     typedef NullType NewTypeList;
  11. };
  12.  
  13. template<typename T>
  14. struct Append<NullType, T>{
  15.     typedef TypeList<T,NullType> NewTypeList;
  16. };
  17.  
  18. template<typename Head, typename Tail>
  19. struct Append<TypeList<Head,Tail>, NullType>{
  20.     typedef TypeList<Head, Tail> NewTypeList;
  21. };
  22.  
  23. template<typename Head, typename Tail, typename NewType>
  24. struct Append<TypeList<Head, Tail>, NewType>{
  25.     typedef TypeList<Head,typename Append<Tail,NewType>::NewTypeList> NewTypeList;
  26. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement