25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

39 lines
812 B

  1. #pragma once
  2. #include <cpphibernate/config.h>
  3. namespace cpphibernate
  4. {
  5. namespace __impl
  6. {
  7. /**
  8. * @brief Helper class to build limit objects.
  9. */
  10. template<typename X, typename = void>
  11. struct limit_builder;
  12. }
  13. /**
  14. * @brief Evaluates to true_t if the passed type is a limit modifier, false_t otherwise.
  15. */
  16. template<typename T>
  17. struct is_limit_modifier;
  18. /**
  19. * @brief Is true if the passed type is a limit modifier, false otherwise.
  20. */
  21. template<typename T>
  22. constexpr decltype(auto) is_limit_modifier_v = is_limit_modifier<T>::value;
  23. /**
  24. * @brief Predicate to create new limit objects.
  25. */
  26. constexpr decltype(auto) limit = mp::generic_predicate<__impl::limit_builder> { };
  27. }
  28. #include "limit.inl"