Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. #include <vector>
  2. #include <type_traits>
  3.  
  4. template <
  5. std::size_t levels,
  6. template<typename _> typename Wrapper_t,
  7. typename T
  8. >
  9. struct nest
  10. {
  11. using type = Wrapper_t<typename nest<levels - 1, Wrapper_t, T>::type>;
  12. };
  13.  
  14. template <template<typename _> typename Wrapper_t, typename T>
  15. struct nest<0, Wrapper_t, T>
  16. {
  17. using type = Wrapper_t<T>;
  18. };
  19.  
  20. template <
  21. std::size_t levels,
  22. template<typename _> typename Wrapper_t,
  23. typename T
  24. >
  25. using nest_t = typename nest<levels, Wrapper_t, T>::type;
  26.  
  27. template <typename T>
  28. using default_allocator_vector = std::vector<T>;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement