25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

61 satır
1.2 KiB

  1. #pragma once
  2. #include "logger.h"
  3. namespace cpplogging
  4. {
  5. namespace __impl
  6. {
  7. template<typename T_pred>
  8. struct stream_setter
  9. {
  10. using predicate_type = T_pred;
  11. predicate_type predicate;
  12. };
  13. template<typename T_pred>
  14. std::ostream& operator<<(std::ostream &os, const stream_setter<T_pred>& x);
  15. template<typename T_pred>
  16. constexpr decltype(auto) make_stream_setter(T_pred&& pred);
  17. }
  18. /**
  19. * @brief Set the log level of a log stream.
  20. */
  21. inline auto level(log_level level);
  22. /**
  23. * @brief Set the sender of a log stream.
  24. */
  25. template<typename T_sender>
  26. inline auto sender(const T_sender* sender);
  27. /**
  28. * @brief Set the sender type of a log stream.
  29. */
  30. inline auto sender_type(const std::string& sender_type);
  31. /**
  32. * @brief Set the file of a log stream.
  33. */
  34. inline auto file(const char * file);
  35. /**
  36. * @brief Set the line of a log stream.
  37. */
  38. inline auto line(int line);
  39. /**
  40. * @brief Manipulate the log entry.
  41. */
  42. template<typename T_pred>
  43. inline auto manipulate(T_pred&& pred);
  44. }
  45. #include "iomanip.inl"