meta_remove_if.cpp 556 B

1234567891011121314151617181920212223242526
  1. #include "simple/support/meta/remove_if.hpp"
  2. #include "simple/support/meta/bind.hpp"
  3. #include "simple/support/meta/list.hpp"
  4. #include <type_traits>
  5. using namespace simple::support;
  6. int main()
  7. {
  8. static_assert(std::is_same_v<
  9. meta::remove_if_t<meta::list<long, unsigned int, short, unsigned char>,
  10. std::is_unsigned>,
  11. meta::list<long, short>
  12. >);
  13. static_assert(std::is_same_v<
  14. meta::remove_if_t<meta::list<long, int, int, short, char, int>,
  15. meta::bind<std::is_same, int>::template bound>,
  16. meta::list<long, short, char>
  17. >);
  18. return 0;
  19. }