Skip to content

Latest commit

 

History

History
11 lines (8 loc) · 1.46 KB

README.md

File metadata and controls

11 lines (8 loc) · 1.46 KB

Typelist

В этом задании нужно реализовать несколько мета-функций/мета-переменных для работы с тайплистами:

  1. contains<Type, List> — возвращает true, если List содержит Type, иначе false;
  2. flip<List> — принимает список пар типов (пара — тайплист размера 2), возвращает список, в котором у каждой пары элементы переставлены местами;
  3. index_of_unique<Type, List> — возвращает индекс единственного вхождения Type в List;
  4. flatten<List> — рекурсивно разворачивает все вложенные тайплисты в один одномерный;
  5. merge_sort<List, Compare> — возвращает копию List, но с элементами, отсортированными компаратором Compare (он принимает два типа, и возвращает true, если первый должен идти до второго).

Все присутствующие в вашем репозитории мета-функции (в том числе не перечисленные выше) должны уметь работать с произвольными тайплистами, а не только с tl::type_list.