// Copyright Benoit Blanchon 2014-2017 // MIT License // // Arduino JSON library // https://github.com/bblanchon/ArduinoJson // If you like this project, please add a star! #pragma once #include #include "../TypeTraits/EnableIf.hpp" #include "../TypeTraits/IsBaseOf.hpp" #include "../TypeTraits/RemoveReference.hpp" namespace ArduinoJson { namespace Internals { struct StdStreamFuncs { class Iterator { std::istream& _stream; public: Iterator(std::istream& stream) : _stream(stream) {} char next() { return _stream.eof() ? '\0' : static_cast(_stream.get()); } private: Iterator& operator=(const Iterator&); // Visual Studio C4512 }; }; template struct StringFuncs::type>::value>::type> : StdStreamFuncs {}; } }