| 14232 | */ |
| 14233 | template<typename NumberType, bool OutputIsLittleEndian = false> |
| 14234 | void write_number(const NumberType n) |
| 14235 | { |
| 14236 | // step 1: write number to array of length NumberType |
| 14237 | std::array<CharType, sizeof(NumberType)> vec; |
| 14238 | std::memcpy(vec.data(), &n, sizeof(NumberType)); |
| 14239 | |
| 14240 | // step 2: write array to output (with possible reordering) |
| 14241 | if (is_little_endian != OutputIsLittleEndian) |
| 14242 | { |
| 14243 | // reverse byte order prior to conversion if necessary |
| 14244 | std::reverse(vec.begin(), vec.end()); |
| 14245 | } |
| 14246 | |
| 14247 | oa->write_characters(vec.data(), sizeof(NumberType)); |
| 14248 | } |
| 14249 | |
| 14250 | void write_compact_float(const number_float_t n, detail::input_format_t format) |
| 14251 | { |
nothing calls this directly
no test coverage detected