[mir_tflite] Change the stream type to char (#8006)
authorСергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 <s.barannikov@samsung.com>
Tue, 8 Oct 2019 11:47:03 +0000 (14:47 +0300)
committerAlexander Efimov/AI Tools Lab/./Samsung Electronics <a.efimov@samsung.com>
Tue, 8 Oct 2019 11:47:03 +0000 (14:47 +0300)
`uint8_t` is not supported directly by the standard library, leading to errors in runtime.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
compiler/mir-tflite-importer/tflite_importer.cpp

index d27ce3d..7f566b4 100644 (file)
@@ -86,17 +86,18 @@ TfliteImporter::~TfliteImporter() = default;
 
 void TfliteImporter::import()
 {
-  std::basic_ifstream<std::uint8_t> stream(_filename, std::ios::in | std::ios::binary);
+  std::ifstream stream(_filename, std::ios::in | std::ios::binary);
   if (stream.fail())
     throw std::runtime_error("Couldn't open file \"" + _filename + "\".");
 
-  std::vector<std::uint8_t> model_buffer((std::istreambuf_iterator<std::uint8_t>(stream)),
-                                         std::istreambuf_iterator<std::uint8_t>());
+  std::vector<char> model_buffer((std::istreambuf_iterator<char>(stream)),
+                                 std::istreambuf_iterator<char>());
 
   if (stream.fail())
     throw std::runtime_error("Couldn't read file \"" + _filename + "\".");
 
-  flatbuffers::Verifier verifier(model_buffer.data(), model_buffer.size());
+  flatbuffers::Verifier verifier(reinterpret_cast<const std::uint8_t *>(model_buffer.data()),
+                                 model_buffer.size());
 
   if (!tflite::VerifyModelBuffer(verifier))
     throw std::runtime_error("Could not load model: " + _filename + "\n");