Advertisement
deushiro

replace

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