WString.h 722 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2020
  3. // MIT License
  4. #pragma once
  5. #include <string>
  6. // Reproduces Arduino's String class
  7. class String {
  8. public:
  9. String& operator+=(const char* rhs) {
  10. _str += rhs;
  11. return *this;
  12. }
  13. size_t length() const {
  14. return _str.size();
  15. }
  16. const char* c_str() const {
  17. return _str.c_str();
  18. }
  19. bool operator==(const char* s) const {
  20. return _str == s;
  21. }
  22. friend std::ostream& operator<<(std::ostream& lhs, const ::String& rhs) {
  23. lhs << rhs._str;
  24. return lhs;
  25. }
  26. private:
  27. std::string _str;
  28. };
  29. class StringSumHelper;
  30. inline bool operator==(const std::string& lhs, const ::String& rhs) {
  31. return lhs == rhs.c_str();
  32. }