Minh Nguyen / ArduinoJson
Committer:
khaiminhvn
Date:
Fri Mar 19 19:30:50 2021 +0000
Revision:
0:18ba3960b5dd
removed extras

Who changed what in which revision?

UserRevisionLine numberNew contents of line
khaiminhvn 0:18ba3960b5dd 1 // ArduinoJson - arduinojson.org
khaiminhvn 0:18ba3960b5dd 2 // Copyright Benoit Blanchon 2014-2021
khaiminhvn 0:18ba3960b5dd 3 // MIT License
khaiminhvn 0:18ba3960b5dd 4
khaiminhvn 0:18ba3960b5dd 5 #pragma once
khaiminhvn 0:18ba3960b5dd 6
khaiminhvn 0:18ba3960b5dd 7 #include <ostream>
khaiminhvn 0:18ba3960b5dd 8
khaiminhvn 0:18ba3960b5dd 9 namespace ARDUINOJSON_NAMESPACE {
khaiminhvn 0:18ba3960b5dd 10
khaiminhvn 0:18ba3960b5dd 11 template <typename TDestination>
khaiminhvn 0:18ba3960b5dd 12 class Writer<
khaiminhvn 0:18ba3960b5dd 13 TDestination,
khaiminhvn 0:18ba3960b5dd 14 typename enable_if<is_base_of<std::ostream, TDestination>::value>::type> {
khaiminhvn 0:18ba3960b5dd 15 public:
khaiminhvn 0:18ba3960b5dd 16 explicit Writer(std::ostream& os) : _os(&os) {}
khaiminhvn 0:18ba3960b5dd 17
khaiminhvn 0:18ba3960b5dd 18 size_t write(uint8_t c) {
khaiminhvn 0:18ba3960b5dd 19 _os->put(static_cast<char>(c));
khaiminhvn 0:18ba3960b5dd 20 return 1;
khaiminhvn 0:18ba3960b5dd 21 }
khaiminhvn 0:18ba3960b5dd 22
khaiminhvn 0:18ba3960b5dd 23 size_t write(const uint8_t* s, size_t n) {
khaiminhvn 0:18ba3960b5dd 24 _os->write(reinterpret_cast<const char*>(s),
khaiminhvn 0:18ba3960b5dd 25 static_cast<std::streamsize>(n));
khaiminhvn 0:18ba3960b5dd 26 return n;
khaiminhvn 0:18ba3960b5dd 27 }
khaiminhvn 0:18ba3960b5dd 28
khaiminhvn 0:18ba3960b5dd 29 private:
khaiminhvn 0:18ba3960b5dd 30 std::ostream* _os;
khaiminhvn 0:18ba3960b5dd 31 };
khaiminhvn 0:18ba3960b5dd 32 } // namespace ARDUINOJSON_NAMESPACE