Print.hpp 658 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright Benoit Blanchon 2014-2016
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. // If you like this project, please add a star!
  7. #pragma once
  8. #ifndef ARDUINO
  9. #include <stddef.h>
  10. #include <stdint.h>
  11. namespace ArduinoJson {
  12. // This class reproduces Arduino's Print class
  13. class Print {
  14. public:
  15. virtual ~Print() {}
  16. virtual size_t write(uint8_t) = 0;
  17. size_t print(const char* s) {
  18. size_t n = 0;
  19. while (*s) {
  20. n += write(*s++);
  21. }
  22. return n;
  23. }
  24. size_t println() {
  25. size_t n = 0;
  26. n += write('\r');
  27. n += write('\n');
  28. return n;
  29. }
  30. };
  31. }
  32. #else
  33. #include <Print.h>
  34. #endif