diff options
Diffstat (limited to 'json4cpp/tests/src/test_utils.hpp')
| -rw-r--r-- | json4cpp/tests/src/test_utils.hpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/json4cpp/tests/src/test_utils.hpp b/json4cpp/tests/src/test_utils.hpp new file mode 100644 index 0000000000..37afa21e8b --- /dev/null +++ b/json4cpp/tests/src/test_utils.hpp @@ -0,0 +1,33 @@ +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ (supporting code) +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2026 Niels Lohmann <https://nlohmann.me> +// SPDX-License-Identifier: MIT + +#pragma once + +#include <cstdint> // uint8_t +#include <fstream> // ifstream, istreambuf_iterator, ios +#include <vector> // vector + +namespace utils +{ + +inline std::vector<std::uint8_t> read_binary_file(const std::string& filename) +{ + std::ifstream file(filename, std::ios::binary); + file.unsetf(std::ios::skipws); + + file.seekg(0, std::ios::end); + const auto size = file.tellg(); + file.seekg(0, std::ios::beg); + + std::vector<std::uint8_t> byte_vector; + byte_vector.reserve(static_cast<std::size_t>(size)); + byte_vector.insert(byte_vector.begin(), std::istream_iterator<std::uint8_t>(file), std::istream_iterator<std::uint8_t>()); + return byte_vector; +} + +} // namespace utils |
