Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <type_traits>
- template <
- std::size_t levels,
- template<typename _> typename Wrapper_t,
- typename T
- >
- struct nest
- {
- using type = Wrapper_t<typename nest<levels - 1, Wrapper_t, T>::type>;
- };
- template <template<typename _> typename Wrapper_t, typename T>
- struct nest<0, Wrapper_t, T>
- {
- using type = Wrapper_t<T>;
- };
- template <
- std::size_t levels,
- template<typename _> typename Wrapper_t,
- typename T
- >
- using nest_t = typename nest<levels, Wrapper_t, T>::type;
- template <typename T>
- using default_allocator_vector = std::vector<T>;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement