fwd_functional 986 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __GBLIBCPP_BITS_FWD_FUNCTIONAL__
  2. #define __GBLIBCPP_BITS_FWD_FUNCTIONAL__
  3. #include <cstddef>
  4. namespace std {
  5. template <typename T>
  6. class reference_wrapper;
  7. template <typename>
  8. class function;
  9. template <typename Ret, typename... Args>
  10. bool operator==(const std::function<Ret(Args...)>& func, std::nullptr_t) noexcept;
  11. template <typename Ret, typename... Args>
  12. void swap(std::function<Ret(Args...)>& lhs, std::function<Ret(Args...)>& rhs) noexcept;
  13. template <typename T>
  14. constexpr std::reference_wrapper<T> ref(T& t) noexcept;
  15. template <typename T>
  16. constexpr std::reference_wrapper<T>
  17. ref(std::reference_wrapper<T> t) noexcept;
  18. template <typename T>
  19. void ref(const T&&) = delete;
  20. template <typename T>
  21. constexpr std::reference_wrapper<const T> cref(const T& t) noexcept;
  22. template <typename T>
  23. constexpr std::reference_wrapper<const T>
  24. cref(std::reference_wrapper<T> t) noexcept;
  25. template <typename T>
  26. void cref(const T&&) = delete;
  27. } // namespace std
  28. #endif